package com.cn.test;
public class Test{
String[] list;
StringBuffer sb = new StringBuffer();
int start;
Test(String in){
list = in.split(",");
printList();
System.out.print(sb);
}
void replaceStr(int c1,int c2){
String temp = list[c1];
list[c1] = list[c2];
list[c2] = temp;
}
void printList(){
if(start==list.length-1)
for(int i=0;i <list.length;i++)
sb.append(list[i]+(i==list.length-1?"\n":","));
else
for(int i=start;i <list.length;i++){
replaceStr(start++,i);
printList();
replaceStr(i,--start);
}
}
public static void main(String args[]){
new Test(args[0]);
}
} 而且debug会产生source not found ??????
public class Test{
String[] list;
StringBuffer sb = new StringBuffer();
int start;
Test(String in){
list = in.split(",");
printList();
System.out.print(sb);
}
void replaceStr(int c1,int c2){
String temp = list[c1];
list[c1] = list[c2];
list[c2] = temp;
}
void printList(){
if(start==list.length-1)
for(int i=0;i <list.length;i++)
sb.append(list[i]+(i==list.length-1?"\n":","));
else
for(int i=start;i <list.length;i++){
replaceStr(start++,i);
printList();
replaceStr(i,--start);
}
}
public static void main(String args[]){
new Test(args[0]);
}
} 而且debug会产生source not found ??????
这句产生的数组越界
执行时没有带上参数,java Test aaa bbb ccc
start之前赋值 了???
new Test(sc.nextLine());
Run菜单-->Run-->Arguments选项卡
在Program arguments中输入参数
多个参数以空格作为分隔符
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length!=0)
for (int i = 0; i < args.length; i++)
System.out.println(args[i]);
else
System.out.println("没有参数,长度为:"+args.length);
}
}//希望对你有用