我是Java的新手,我正在尝试编写一个程序,您必须输入10个数字,并且该程序需要计算并打印两个数字最大的那个。
这是我的输出:
Enter 10 integers
1
20
30
40
50
60
70
80
90
100
Largest integer: 100
Second Largest integer: 0
这里是代码:
import java.util.Scanner;
public class TwoLargest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number, largest1 = 0, largest2 = 0;
System.out.println("Enter 10 integers");
for (int i = 0; i < 10; i++) {
number = input.nextInt();
if (number > largest1)
largest1 = number;
else if (number < largest1 && number > largest2)
largest2 = number;
}
System.out.printf("Largest integer: %d\n", largest1);
System.out.printf("Second Largest integer: %d\n", largest2);
}
}
这里的问题是,在输入中增加数字时,永远不会输入elseif语句,因为'number'总是大于'largest1'。
您需要在'if'语句中添加一行,如果'largest1'已更新,则将'largest2'设置为'largest1'。这会将“ largest2”设置为旧的“ largest1”,并跟踪第二大数字。