新手求罩,请略微讲解下这个代码。
easyjava吧
全部回复
仅看楼主
level 5
floodmighty 楼主
import java.util.Scanner;
publicclass abc {
publicstaticvoid main(String[] args) {
// TODO Auto-generatedmethod stub
System.out.println("putletter:");
Scanner scan = new Scanner(System.in);
String s = scan.next();
sc.close();
perm("",s);
}
privatestaticvoid perm(String left, String right) {
// TODO Auto-generatedmethod stub
for(inti=0;i<right.length();i++)
perm(left+right.charAt(i),right.substring(0,i)+right.substring(i+1));
if(right.isEmpty())System.out.print(left+" ");
}
}
2014年05月08日 05点05分 1
level 1
import java.util.Scanner;
publicclass abc {
publicstaticvoid main(String[] args) {
// TODO Auto-generatedmethod stub
//打印输出字符串"putletter"
System.out.println("putletter:");
//生成 Scanner 对象, 用于获取用户输入的内容
Scanner scan = new Scanner(System.in);
//堵塞在此,直到获取输入的文本值
String s = scan.next();
//sc是什么对象?这个我没看懂。。感觉就我来说的话,应该是把那个scan关闭吧。
sc.close();
//打印获取的文本值
perm("",s);
}
privatestaticvoid perm(String left, String right) {
// TODO Auto-generatedmethod stub
//开启循环,循环次数为获取的文本值的长度
for(inti=0;i<right.length();i++)
//回调自己。
//根据循环把left值和right的0-> i个字符取出进行拼接, 第二个则是取right的0-i个字符和right第i个字符以后的/////拼接
perm(left+right.charAt(i),right.substring(0,i)+right.substring(i+1));
//判断rigth是否无值,无值的时候打印left
if(right.isEmpty())System.out.print(left+" ");
}
}
2014年10月30日 15点10分 3
level 1
sc是Scanner的实例对象,用这个对象才可以从console获取输入值
2015年04月09日 09点04分 4
1