蓝桥杯 Java运行错误

蓝桥杯java运行错误但是自己测的时候可以运行但在练习系统中过不了

题目:输出自然数1输出自然数1到n所有不重复的排列,即n的全排列。到n所有不重复的排列,即n的全排列


import java.util.Scanner;


public class Main{
    static int[] arr;
    static boolean[] arr2;
    static int n;

    public static int main(String[] args) {

        Scanner sc = new Scanner(System.in);
        n=sc.nextInt();
        arr=new int[n+1];
        arr2=new boolean[n+1];
        dfs(1);
        return 0;
    }

    static void dfs(int temp){

        if(temp==n+1){
            for(int i=1;i<=n;i++){
            System.out.print(arr[i]+" ");
            }
            System.out.println();
            return;
        }

        for(int i=1;i<=n;i++){
            if(arr2[i]==false){
                arr[temp]=i;
                arr2[i]=true ;
                dfs(temp+1);
                arr2[i]=false;
            }
        }
    }
}

img

以下为提交时的代码

img

尝试过的方法

把引入的包名注释掉

加return 0;

public static int main 把int 改成 void ,main函数中的return 0改成return

img

import java.util.Scanner;

public class Main {
    static int[] arr;
    static boolean[] arr2;
    static int n;

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        n=sc.nextInt();
        arr=new int[n+1];
        arr2=new boolean[n+1];
        dfs(1);
        return ;
    }

    static void dfs(int temp){

        if(temp==n+1){
            for(int i=1;i<=n;i++){
                System.out.print(arr[i]+" ");
            }
            System.out.println();
            return;
        }

        for(int i=1;i<=n;i++){
            if(arr2[i]==false){
                arr[temp]=i;
                arr2[i]=true ;
                dfs(temp+1);
                arr2[i]=false;
            }
        }
    }
}

main方法加 return 0 那还是main方法吗,程序都运行不了了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632