2017-04-20 58 views
-2

该程序将生成100个随机4个字母的数字,它首先生成4个字母,然后生成4个字母并将它们添加到函数中。我猜是因为我使用了.append。我试着把随机=“”;在循环的顶部和底部,但它只是清除了变量。有没有其他办法可以做到这一点,或者有什么我可以添加到该程序?如何清除循环中的变量

Random input = new Random(); 
    StringBuilder in = new StringBuilder(); 

    String alphabet = "abcdefghijklomnpqrstuvwxyz"; 
    char[] letterPool; 
    letterPool = alphabet.toCharArray(); 
    for(int y = 0; y < 101; y++){ 
    for(int x = 0; x<4; x++){ 
     in.append(alphabet.charAt(input.nextInt(alphabet.length()))); 

    } 

    String random=in.toString(); 


    System.out.println(random); 

    System.out.println("space"); 
    } 
+0

呵呵?? <垫垫垫> – John3136

回答

0
Random input = new Random(); 
String alphabet = "abcdefghijklomnpqrstuvwxyz"; 
for (int y = 0; y < 100; y++) { 
    StringBuilder in = new StringBuilder(); 
    for (int x = 0; x < 4; x++) { 
     in.append(alphabet.charAt(input.nextInt(alphabet.length()))); 

    } 
    String random = in.toString(); 
    System.out.println(random); 
} 
+0

谢谢!为什么在for循环之间移动StringBuilder解决它? – aiGod

+0

通过这样做,在外部'for'循环的每次迭代中,'StringBuilder'将被重新初始化。 – ShahzadIftikhar

0

内循环会在每次外循环结束时重置自身。