的问题是:第一和第二大的量
编写一个程序,提示用户输入5个号码,以及它们之间找到 两个最大的价值。如果用户输入的数字超过100 或小于-100,程序应该退出。
Hint: use break.
我的代码是:
import java.util.*;
public class q2 {
static Scanner scan = new Scanner (System.in);
public static void main (String[] args) {
int num;
int max=0;//define Maximum value and save it in variable max = 0;
int secondMax=0;//define the second maximum value and save it in variable secondMax = 0;
System.out.println("Please , Enter 5 numbers between 100 and -100 "); //promet user to enter 5 numbers with the condition
for (int count=0 ; count<5 ; count++) // start loop with (for)
{
num = scan.nextInt();//user will enter number it will be repeated 5 times .
if(num > 100 || num<-100) //iv the user enter a number less than -100 or geater than 100 program will quit from loop
{
System.out.println("The number you have entered is less than -100 or greater than 100 ");//telling the user what he did
break;//End the loop if the condition (num > 100 || num<-100) is true .
}
if(num>max)//Another condition to find the maximum number
max = num;//if so , num will be saved in (max)
if (num >= secondMax && num < max)// A condition to find the second Maximum number
secondMax = num;//And it will be saved in (secondMax)
}//End loop
System.out.println("The largest value is " + max); //Print the largest number
System.out.println("The second largest value is " + secondMax);//print the second largest number .
}//End main
}//End class
这是我的代码输出:第二大数字是
Please , Enter 5 numbers between 100 and -100
20
30
60
20
-10
The largest value is 60
The second largest value is 20
不正确 - 20,而不是30我做了什么错误?
你失去了30,因为它被替换为60而没有被复制到'secondMax'。我想,你应该把这个添加到第一个'if'子句。 –