java - 我如何获得代码来打印我输入的整数而不是这些数字?

标签 java arrays multidimensional-array

当我输入 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/

相关文章:

java - 临时数组

python - 在 Matlab 中是否有等效于 Python 的列表和附加功能?

java - 在 Java 中使用 JDBC 事务的正确方法是什么?

java - 元音和辅音计数器类返回 0

java - 写入长值以在 apache POI 中表现出色

java - 使用java中文件中的值创建2d int数组

C# 错误消息 : Cannot Implicitly convert type

java - 使用 volatile 发布不可变对象(immutable对象)安全吗?

android - react native : Rendering infinite number of pages (bi-directional swiping)

javascript - 多维数组 Javascript