繁体   English   中英

从用户读取正数,直到他们输入负数。 打印出读取到的最大正数。 爪哇

[英]Read in positive numbers from the user until they enter a negative number. Print out the largest positive number that was read. Java

就像,我是 Java 的新手,而且在大多数情况下,一切都很好。 但是,我有点被这个问题难住了。 所以基本上我必须在一个条件循环中编写一个程序,它读取用户输入:输入正数,直到输入负数,然后程序打印出最大的正数。

我正在从另一个程序中构建它,该程序读取正数,直到您输入一个负数,然后程序将打印出总和。

我真的不知道该怎么办了,有人可以帮忙吗?

这是我的代码

import java.util.Scanner;

class Main {

  public static void main(String[] args) {

    int counter=0;
    Scanner sc=new Scanner(System.in);
    
    int number=sc.nextInt();
    
    while(number>=0){
      counter=counter+number;
      number=sc.nextInt();
    }
    System.out.println(counter);
    
  }
}

立即请求用户输入的最快方法就是prompt功能.. 欢迎使用 javascript :}

 var n=0; var arr=[]; while(n!=-1){ var m=parseInt(prompt("Enter a number\\nEnter value -1 to end entries")); //parseInt attempts to turn the data input into a number and prompt returns what the user inputs if(!isNaN(m)){//i'm asking if m is a number if(m!=-1){arr.push(m);}//this ensures that when -1 is inputted, it isn't a part of the values sorted through n=m; } } alert(arr.sort().reverse()); //sort sorts from highest to lowest, reversing such would do the exact opposite

你很近...

创建一个变量来保存最大值,然后在每次循环迭代中检查输入的数字是否大于最大值。 如果是这样,请更新它。

import java.util.Scanner;
  
class Main {

        public static void main(String[] args) {

                int largest=0;
                Scanner sc=new Scanner(System.in);

                int number=sc.nextInt();
                while(number>=0){
                        if (number > largest) {
                                largest = number;
                        }
                        number=sc.nextInt();
                }
                System.out.println(largest);
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM