使用循环显示最大和最小数字我该怎么办?

时间:2011-11-06 22:42:01

标签: java loops

我不知道如何在用户输入-1后显示最大和最小的数字。

注意:我还必须显示所有这个数字的总和以及这笔总和的平均值。

到目前为止,这是我的代码:

public static void main(String[] args) {
    // store
    int cnt = 0;
    int acumulator = 0;
    int larger = 0;
    int smaller = 0;
    int number;
    // inputs
    System.out.println("enter the number all the number");
    Scanner kb = new Scanner(System.in);
    number = kb.nextInt();
    // loop
    while (number != -1) {
        acumulator += number;
        number = kb.nextInt();
        cnt++;//
    }
    double average = (acumulator / cnt);
    System.out.println(" The total of your number is=" + acumulator);
    System.out.println(" The average of your number is=" + average);
}

4 个答案:

答案 0 :(得分:1)

看起来像学校作业,但你可以做的是制作一个var并检查你的输入数字是否高于或低于保存的var。

if(input > max)
  max = input;

if(input < min)
  min = input;

答案 1 :(得分:1)

我会做出以下更改:

  • 使用for循环而不是while循环(需要初始化,条件和迭代)
  • 更多地使用JDK的API - Math.min()和Math.max()
  • 正确拼写“累积器”
  • 删除所有未使用的变量(cnt)

试试这个:

public static void main(String[] args) {
    int accumulator = 0;
    int largest = Integer.MIN_VALUE;
    int smallest = Integer.MAX_VALUE;
    int count = 0;
    // inputs
    System.out.println("enter a number (-1 to end)");
    Scanner kb = new Scanner(System.in);
    for(int number = kb.nextInt(); number != -1; number = kb.nextInt()) {
        count++;
        accumulator += number;
        largest = number > largest ? number : largest;
        smallest = number < smallest ? number : smallest;
    }
    double average = (accumulator / count);
    System.out.println(" The total of your numbers is=" + accumulator);
    System.out.println(" The average of your numbers is=" + average);
    System.out.println(" The largest of your numbers is=" + largest);
    System.out.println(" The smallest of your numbers is=" + smallest);
}

仅供参考:可以使用Math.min / max代替三元语句,但上面是最简单的java,它将实现结果。

答案 2 :(得分:0)

基本上你需要互相检查每个数字。让我们说数字1,2和3

这是代码:

public static void main(String[] args){
    int one=1;
    int two=2;
    int three=3;
    if(three>one){
     if(three>two){
       System.out.println("three is biggest");
     }
   }
   if(two>one){
    if(two>three){

   }
}

等等。

我认为你有想法

答案 3 :(得分:-1)

您需要使用“if”语句。