【发布时间】:2016-06-15 02:50:17
【问题描述】:
//请帮我修复这个代码。我想返回一个与发送字符串具有相同字符但顺序不同的字符串。
public static String mix(String s){
int random;
int n= s.length();
int [] control = new int[n];
String miX="";
for(int i=0 ; i < n ; i++){
random = (int)(1+Math.random()*(n));
if( control[i] != random ){
control[i]= random;
miX += s.charAt(random);
}
}
return miX;
}
【问题讨论】:
-
好的,谢谢。但是我可以用这个代码写同样的东西吗?
-
是的,您的代码看起来会有所不同。请参阅
public static String mix(String s) { StringBuilder sb = new StringBuilder(s); Random r = new Random(); for (int i = 0; i < s.length(); i++) { char curr = sb.charAt(i); //current char int rix = r.nextInt(s.length()); //random index char temp = sb.charAt(rix); //memorize char at index rix sb.setCharAt(rix, curr); //put current char to rix index sb.setCharAt(i , temp); //put memorized char to i index } return sb.toString(); }与System.out.println(mix("Hello"));通话:)
标签: java eclipse string methods char