我的增量和退出语句显示不正确。这个项目是针对一个类的,我将创建一个Java程序来提示用户输入并存储最大数量的输入及其输入的次数。我的程序没有正确计数,也没有计数增量中输入的第一个数字。
首先输入0时,程序应该打印出
Enter an integer <0 ends the input>: 0
No numbers are entered except 0
,但它会继续打印计数。
Enter an integer <0 ends the input>: 0
No numbers are entered except 0
The maximum number is 0
The count for the max number is 1
代码:
int number, max=0, count =1;
Scanner input = new Scanner(System.in);
//collecting user information
System.out.print("Enter an integer <0 ends the input>: ");
number = input.nextInt();
if (number ==0){
System.out.println("No numbers are entered except 0");
}
while(number !=0){
System.out.print("Enter an integer <0 ends the input>: ");
number = input.nextInt();
if (number > max){
max = number;
}
else if(number == max){
count++;
}
}
System.out.println("The maximum number is " +max);
System.out.println("The count for the max number is " +count);
答案 0 :(得分:1)
很难在评论中正确解释
int number = -1, max = 0, count = 1;
Scanner input = new Scanner(System.in);
int askedCount = 0;
while(true){
System.out.print("Enter an integer <0 ends the input>: ");
number = input.nextInt();
askedCount++;
if (number == 0) {
break;
}
if (number > max){
max = number;
} else if(number == max){
count++;
}
}
if (askedCount <= 1) {
System.out.println("No numbers are entered except 0");
} else {
System.out.println("The maximum number is " + max);
System.out.println("The count for the max number is " + count);
}
答案 1 :(得分:1)
基于您对Joakim的(原始)帖子的评论,听起来您想让else语句中的第二部分仅在您的数字不为0时出现。
int number=0, max=0, count =1;
Scanner input = new Scanner(System.in);
//collecting user information
System.out.print("Enter an integer <0 ends the input>: ");
number = input.nextInt();
if (number ==0){
System.out.println("No numbers are entered except 0");
}
else{
while(number !=0){
System.out.print("Enter an integer <0 ends the input>: ");
number = input.nextInt();
if (number > max){
max = number;
}
else if(number == max){
count++;
}
}
System.out.println("The maximum number is " +max);
System.out.println("The count for the max number is " +count);
}