程序在Java中打印出所有输出,但退出码不为0。

huangapple 未分类评论41阅读模式
英文:

Program does not finish with exit code 0 in Java despite printing out all output properly

问题

以下是翻译好的部分:

因此,我正在解决一个竞技编程问题,当我提交我的代码时,它显示我得到了运行时错误。我认为这是因为我的代码没有在程序编译和运行后输出“以退出代码0退出”。在IntelliJ中,正确的输出被打印出来,但是再一次,它没有显示代码已经以“退出代码0退出”。

以下是代码。

import java.util.Arrays;
import java.util.Scanner;

class Main{
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int testCases = kb.nextInt();
        for (int i = 0; i < testCases; i++) {
            int N = kb.nextInt();
            int trace = 0;
            int[][] grid = new int[N][N];
            for (int j = 0; j < N; j++) {
                for (int k = 0; k < N; k++) {
                    grid[j][k] = kb.nextInt();
                    if(j == k)
                        trace += grid[j][k];
                }
            }
            int rowsWithASameNumber = 0, columnsWithASameNumber = 0;
            for (int j = 0; j < N; j++) {
                int[] row = new int[N];
                for (int k = 0; k < N; k++)
                    row[k] = grid[j][k];
                Arrays.sort(row);
                for (int k = 0; k < N - 1; k++) {
                    if(row[k] == row[k + 1]) {
                        rowsWithASameNumber++;
                        break;
                    }
                }
            }
            for (int j = 0; j < N; j++) {
                int[] row = new int[N];
                for (int k = 0; k < N; k++)
                    row[k] = grid[k][j];
                Arrays.sort(row);
                for (int k = 0; k < N - 1; k++) {
                    if(row[k] == row[k + 1]) {
                        columnsWithASameNumber++;
                        break;
                    }
                }
            }
            System.out.println("Case #" + (i + 1) + ": " + trace + " " + rowsWithASameNumber + " " + columnsWithASameNumber);
        }
    }
}

想知道是否有什么非常明显的遗漏,或者问题是否根本不是关于退出代码0的问题?感谢您的帮助!

英文:

So, I am doing a competitive programming problem and when I submit my code, it says I am getting a run time error. I think this is because my code is not outputting the "exited with exit code 0" once the program has complied and runned. On IntelliJ, the correct output is printed but once again, it does not say that the code has exited with "exit code 0."

Here is the Code.

import java.util.Arrays;
import java.util.Scanner;

class Main{
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int testCases = kb.nextInt();
        for (int i = 0; i &lt; testCases; i++) {
            int N = kb.nextInt();
            int trace = 0;
            int[][] grid = new int[N][N];
            for (int j = 0; j &lt; N; j++) {
                for (int k = 0; k &lt; N; k++) {
                    grid[j][k] = kb.nextInt();
                    if(j == k)
                        trace += grid[j][k];
                }
            }
            int rowsWithASameNumber = 0, columnsWithASameNumber = 0;
            for (int j = 0; j &lt; N; j++) {
                int[] row = new int[N];
                for (int k = 0; k &lt; N; k++)
                    row[k] = grid[j][k];
                Arrays.sort(row);
                for (int k = 0; k &lt; N - 1; k++) {
                    if(row[k] == row[k + 1]) {
                        rowsWithASameNumber++;
                        break;
                    }
                }
            }
            for (int j = 0; j &lt; N; j++) {
                int[] row = new int[N];
                for (int k = 0; k &lt; N; k++)
                    row[k] = grid[k][j];
                Arrays.sort(row);
                for (int k = 0; k &lt; N - 1; k++) {
                    if(row[k] == row[k + 1]) {
                        columnsWithASameNumber++;
                        break;
                    }
                }
            }
            System.out.println(&quot;Case #&quot; + (i + 1) + &quot;: &quot; + trace + &quot; &quot; + rowsWithASameNumber + &quot; &quot; + columnsWithASameNumber);
        }
    }
}

Was wondering if I was missing something very obvious or if the problem is not even about the exit code 0 thing? Thanks for your help!

答案1

得分: -1

在IntelliJ上,正确的输出被打印出来,但是再次注意,它没有显示代码已经以“退出代码0”退出。

很可能这意味着您的程序没有退出。

英文:

>On IntelliJ, the correct output is printed but once again, it does not say that the >code has exited with "exit code 0."

Probably, this means your program doesn't exit.

huangapple
  • 本文由 发表于 2020年4月4日 09:23:20
  • 转载请务必保留本文链接:https://java.coder-hub.com/61022680.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定