使用while循环打印输出值

时间:2015-02-01 14:15:57

标签: java loops while-loop

我目前正在做一个大学实验室,而我已经陷入困境,并希望得到任何可用的帮助。我必须编写如下程序

  

编写一个程序MaxNum,读取10个正整数的序列,和   输出序列的最大值

现在我可以制作10个整数并让用户输入一个值,但是我不确定如何使用while循环?

这是我目前的代码:

import java.util.Scanner;
public class SumTenNumbers{
    public static void main (String [] args)
    {
        Scanner in = new Scanner(System.in);
        int Num1= 0;

        System.out.println("Please enter 10 integers");
        do
        {
            for(Num1 = 0; Num1 < 10; Num1++);
            {
                Num1 = in.nextInt();
            }
        }
        while(Num1 > 0);
    }
}

2 个答案:

答案 0 :(得分:1)

由于您无法使用数组,因此您只需使用max来检查输入的数字是否大于之前输入的数字。你不需要一个while循环,至少在这种情况下你并不需要你的do-while。

编辑:不要修改num1,你将搞乱你的for-loop

import java.util.Scanner;
public class SumTenNumbers{
   public static void main (String [] args)
   {
    Scanner in = new Scanner(System.in);
    int Num1= 0;
    int max = 0;
    int userInput = 0;


    System.out.println("Please enter 10 integers");

        for(Num1 = 0; Num1 < 10; Num1++);
        {
            userInput = in.nextInt();
            if(num1 == 0){//you set your first number as the maximum
                max = userInput;
            }else if(max < userInput){
                max = userInput;//here you set the number to max
            }
        }

}
}

答案 1 :(得分:0)

这是你可以做的事情,因为你明确地说你正在学习while循环。您可以继续获取用户的输入,直到您输入足够数量的整数,因为您提到您只需要整数。你可以在最后使用Collections.max。

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    List<Integer> list = new ArrayList<>();
    while (list.size() < 10 && scanner.hasNext()) {
        if (scanner.hasNextInt()) {
            list.add(scanner.nextInt());
        } else {
            scanner.next();
        }
    }
    Integer max = Collections.max(list);
    System.out.println(max);
}

Output