的問題是:第一和第二大的量
編寫一個程序,提示用戶輸入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'子句。 –