提问人:Trevon Corbett 提问时间:10/10/2021 最后编辑:Trevon Corbett 更新时间:10/11/2021 访问量:1031
如何查找最大数量和出现次数
How to find max number and occurrences
问:
所以我是第一次学习 java,似乎不知道如何正确设置 while 循环。
我的任务是编写一个程序,读取整数,找到其中最大的整数,并计算其出现次数。
但我有 2 个问题和一些障碍。我不被允许使用数组或列表,因为我们还没有学到,那么你如何从同一行的用户那里获得多个输入。到目前为止,我发布了我能发布的内容.我在让循环工作方面也遇到了问题。我不确定如何设置 while 条件不等于创建 sential Value。我尝试了如果用户输入为 0,则我无法使用用户输入,因为它在 while 语句中。旁注:我认为首先甚至不需要循环来创建它,我不能只使用一连串的 if else 语句来完成这一点。
package myjavaprojects2;
import java.util.*;
public class Max_number_count {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int count = 0;
int max = 1;
System.out.print("Enter a Integer:");
int userInput = input.nextInt();
while ( userInput != 0) {
if (userInput > max) {
int temp = userInput;
userInput = max;
max = temp;
} else if (userInput == max) {
count++ ;
}
System.out.println("The max number is " + max );
System.out.println("The count is " + count );
}
}
}
答:
0赞
Manh Nguyen
10/10/2021
#1
那么,如何在同一行上从用户那里获得多个输入呢?
您可以像在代码中一样使用 scanner 和 nextInput 方法。但是,由于 nextInt 一次只读取 1 个由空格分隔的值,因此您需要在 while 循环结束时重新分配 userInput 变量以更新当前处理值,如下所示。
int userInput = input.nextInt();
while ( userInput != 0) {
//all above logic
userInput = input.nextInt();
}
0赞
Sourashis Pal
10/10/2021
#2
代码:-
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int max = 0, count = 0, num;
System.out.println("Enter numbers:-");
while ((num = sc.nextInt()) != 0) {
if (num > max) {
max = num;
count = 1;
} else if (num == max) {
count++;
}
}
System.out.println("\nCount of maximum number = "+count);
}
}
而且您不必使用 ArrayList 或 Array。只需继续输入数字,直到得到 0。
0赞
Elliott Frisch
10/11/2021
#3
你可以用一个循环来实现这一点。这样做的传统简洁模式涉及这样一个事实,即赋值解析为赋值。因此,您的循环可用于终止(处理异常,以及非整数输入作为读者的练习)。请记住在循环后显示最大值和计数,并将计数重置为找到新的最大值时。另外,我会默认 max 为 (not ).这使得代码看起来像(x = input.nextInt()) != 0
1
Integer.MIN_VALUE
1
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a Integer:");
int count = 0, max = Integer.MIN_VALUE, userInput;
while ((userInput = input.nextInt()) != 0) {
if (userInput > max) {
max = userInput;
count = 1;
} else if (userInput == max) {
count++;
}
}
System.out.println("The max number is " + max);
System.out.println("The count is " + count);
}
评论
if (userInput > max) { max = userInput; count = 1; }
不知道为什么你觉得需要交换,你忘了设置为.祝你好运。count
1