从For循环Java返回为字符串值

时间:2014-11-14 23:15:33

标签: java string loops

我尝试创建一个包含50个字符的循环,然后将整个50个字符作为字符串返回,但不幸的是String只返回最后一个字母,而不是全部50个字符。 getRandomUpperChar()只是我创建的一个方法,用于从A' A'中获取随机大写字符值。到' Z'。

public static String initializeKey(int num , int minNum, int maxNum) {
    String random = "";
    for(int j = 0; j <num; j++) {
        getRandomUpperChar();
        char Xp = getRandomUpperChar(minNum, maxNum);

        random = "" +  Xp;
        System.out.print(random);
    }
    return random;
}

3 个答案:

答案 0 :(得分:2)

你遗漏了一些非常基本的东西

random+= "" +Xp 

答案 1 :(得分:2)

好吧,替换

random = "" +  Xp;

random = random +  Xp;

会使它工作,但更好的解决方案是:

public static String initializeKey(int num, int minNum, int maxNum) {
  StringBuilder random = new StringBuilder();

  for(int j = 0; j < num; j++){
     char xp = getRandomUpperChar(minNum, maxNum);
     random.append(xp);
  }

  return random.toString(); 
}

答案 2 :(得分:1)

只需更换

即可
random = "" +  Xp;

random +="" + Xp;

你没事。