当我输入 7 个整数“1 2 3 4 2 6 2”时,它将打印正确的出现次数。但是它会打印“49 50 51 52 53 54 55”处的数字...我的代码中缺少什么或者我需要更改什么才能让它打印正确的数字?
public static void main(String[] args)
{
final int maxEntryCount = 7;
int [][] numbers = new int [maxEntryCount][2];
System.out.print("Enter " + maxEntryCount + " integers separated by spaces: ");
Scanner input = new Scanner(System.in);
for (int i = 0; i < maxEntryCount; i++) {
numbers[i][0] = (input.next().charAt(0));
}
for (int i = 0; i < maxEntryCount; i++) {
for (int j = 0; j < maxEntryCount; j++) {
if (numbers[i][0] > 0 && numbers [j][0] == numbers[i][0]) {
numbers[i][1]++;
if (j > i) {
numbers[j][0] = 0;
}
}
}
}
for (int i = 0; i < maxEntryCount; i++) {
if (numbers[i][0] > 0) {
System.out.println("Number " + numbers[i][0] + " occurs " + (int) numbers[i][1] + " times");
if (numbers[i][0] == 1) {
System.out.println("Number " + numbers[i][0] + " occurs " + (int) numbers[i][1] + " time");
}
}
}
}
最佳答案
只需将获取用户输入
的循环更改为:
for (int i = 0; i < maxEntryCount; i++) {
numbers[i][0] = (input.nextInt());
}
在您的代码中,您将输入读取为字符。当您输入 1
时,它将采用其 ASCII
值,而不是 1
。
我将其更改为 input.nextInt()
,用于将 int 作为输入。
关于java - 我如何获得代码来打印我输入的整数而不是这些数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47740822/