【发布时间】:2017-09-06 03:26:14
【问题描述】:
我正在尝试输出最高数字出现在用户输入中的次数,例如用户输入 2 4 3 4 2 4 0 最高数字是 4,它出现了 3 次,不知道该怎么做。
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner keyboard = new Scanner(System.in);
String number, last;
System.out.println("Enter an interger (0 ends the input): ");
number = keyboard.nextLine();
last = number.substring(number.length() - 1);
while(!last.equals("0")){
System.out.println("Must end the input with a 0: ");
number = keyboard.nextLine();
last = number.substring(number.length() - 1);
}
String[] array = number.split(" ");
int max = Integer.MIN_VALUE, maxIndex = 0;
int count;
for (int i = 0; i < array.length; i++) {
if (Integer.parseInt(array[i]) > max) {
max = Integer.parseInt(array[i]);
maxIndex = i;
}
}
//String repeat = number.);
System.out.println("The largest number is " + max);
}
【问题讨论】:
-
嗯,基本逻辑很简单。对于字符串中的每个数字,存在三种可能性。 (1) 它大于之前最大的数字 - 所以将其存储为最大的,并将计数重置为 1。 (2) 它等于之前的最大数字 - 所以增加计数。 (3) 它小于以前最大的数字 - 所以忽略它。您现在需要做的就是将其转换为 Java。
标签: java arrays string for-loop int