我目前正在做一个大学实验室,而我已经陷入困境,并希望得到任何可用的帮助。我必须编写如下程序
编写一个程序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);
}
}
答案 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);
}