如何修复我的 java 程序不停止 运行?

How do I fix my java program not stopping running?

我正在编写一个简单的程序作为 Java 的练习。它接受整数并将它们放入 R 行和 C 列的二维数组中,然后简单地打印出数组的每个元素(仅用于故障排除)。当我 运行 代码时,它会按应有的方式打印每个整数,但程序不会停止 运行ning。我必须强制停止它。为什么它不自行停止?我尝试了一些基本的调试,并试图查看我是否不小心在代码中出现了无限循环,但我找不到它。

以防万一,我使用的是 IntelliJ Idea Ultimate 2019.3。

谢谢

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int T = in.nextInt(); //Takes number of test cases
        for(int i = 1; i <= T; i++){ //This is the counter for each test case
            int R = in.nextInt(); //R is # of rows
            int C = in.nextInt(); //C is # of columns
            int K = in.nextInt(); //K is the thickness allowed
            int numArray[][] = new int[R+1][C+1];

            for(int j = 0; j < R; j++){
                for(int k = 0; k < C; k++){
                    numArray[j][k] = in.nextInt();
                    System.out.println(numArray[j][k]);
                }
            }

        }
        in.close();
    }//End of main
}//End of main class

编辑:为了将来参考,我将包括我得到的输入和输出。

输入: 3个 1 4 0 3 1 3 3 2 3 0 4 4 5 7 6 6 4 5 0 2 2 4 4 20 8 3 3 3 12 6 6 3 3 3 1 6 8 6 4

输出: 3个 1个 3个 3个 4个 4个 5个 7 6个 6个 2个 2个 4个 4个 20 8个 3个 3个 3个 12 6个 6个 3个 3个 3个 1个 6个 8个 6个 (这里光标一直在闪烁,没有做任何事情,程序也没有自行退出)

我通过手动输入而不是复制和粘贴来解决问题。不确定是什么导致了这个问题,但它起作用了!

你的 for(int i = 1; i <= T; i++) 可能更新结束,因为你正在增加 T.

您需要在循环中设置一些条件才能退出。例如 如果 (xx == yy) 中断;

这段代码要求用户输入 3 个整数(RCKT 次:

int T = in.nextInt(); 
for(int i = 1; i <= T; i++){
    int R = in.nextInt(); 
    int C = in.nextInt();
    int K = in.nextInt(); 
    // ...
}

此外,用户必须输入整数 R*C 次,直到 i <= T:

for(int j = 0; j < R; j++){
    for(int k = 0; k < C; k++){
        numArray[j][k] = in.nextInt(); // << requires user-interaction each loop here >>
        System.out.println(numArray[j][k]);
    }
}

如果您使用 T=1、R=1、C=1、K=1,用户只需输入 1 个额外的整数,因为只有 1 次测试重复和 R*C = 1。您的程序按预期终止。

TRCK 的值越大,所需的用户交互呈指数增长,这可能让您认为您的程序应该有已结束,但它仍在等待其他用户输入。

好的,我想我明白了。我正在从网页复制和粘贴测试输入。我尝试仔细检查以确保输入有效,然后手动输入并修复它。不是 100% 的原因,但这解决了问题。感谢您的帮助!