Java 增量计算不正确
我的increment和exit语句没有正确显示。这个项目是一个类,我要创建一个java程序,提示用户输入,并存储最大数量的输入和输入次数。我的程序没有正确计数它没有计算输入增量的第一个数字 首先键入0时,程序应打印输出Java 增量计算不正确,java,Java,我的increment和exit语句没有正确显示。这个项目是一个类,我要创建一个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 num
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 = -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);
}
根据您对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);
}
删除while循环之前的行,它们没有意义。您还需要将数字初始化为负值。在输入的第一个数字为0的情况下,我们需要有一个特定的输出语句,并且该语句应该读取除0之外未输入任何数字,但out包括max或count。如果不打印count和max,我似乎无法将语句输出?@waffilendbacon我添加了一个新变量以保持总计数,稍微更改了循环,然后使用该计数器检查要打印的内容。
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);
}