题目:输出自然数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;
}
}
}
}
把引入的包名注释掉
加return 0;
public static int main 把int 改成 void ,main函数中的return 0改成return
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方法吗,程序都运行不了了
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!