前提・実現したいこと
入力された文字列の順番をバラバラにして出力するコードを書いてみたのですが、
文字数が11文字以上だとうまく動かず、
原因が分からなかったため投稿しました。
よろしくお願いします。
該当のソースコード
java
1import java.util.Random; 2import java.util.Scanner; 3 4public class Main{ 5 public static void main(String[] args) { 6 StringBuilder sb = new StringBuilder(); 7 Scanner sc = new Scanner(System.in); 8 Random rn = new Random(); 9 10 String S = sc.next(); 11 char[] sch = S.toCharArray(); 12 Integer slen = sch.length; 13 char[] ans = new char[slen]; 14 15 for(int i=0;i<slen;i++) { 16 17 for(int j=0;j<1;) { 18 Integer r = rn.nextInt(slen); 19 String a = sb.toString(); 20 if(a.contains(r.toString())) { 21 }else { 22 ans[i]=sch[r]; 23 j++; 24 sb.append(r).append("."); 25 } 26 } 27 } 28 for(int i=0;i<ans.length;i++) { 29 System.out.print(ans[i]); 30 } 31 sc.close(); 32 } 33}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/20 14:55