将2个字符转换为字符串

时间:2016-01-15 04:11:01

标签: java

我有2个字符我需要转换为字符串。我可以转换一个没问题,但如何将2个随机生成的字符转换为一个字符串?到目前为止,这是我的代码,我的程序的目的是随机生成两个字符并返回它们:

import java.util.Random;
public class PasswordGenerator {

    Random rand = new Random();

    public String uppercaseLetters() {
    char char1;
    char char2;
    String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    String result;


    char1 = alphabet.charAt(rand.nextInt(25));
    char2 = alphabet.charAt(rand.nextInt(25));


    result = String.valueOf(char1, char2);
    return result;
    }

    public static void main(String[] args) {

    PasswordGenerator pg = new PasswordGenerator();

    System.out.println(pg.uppercaseLetters());

    }

}

4 个答案:

答案 0 :(得分:3)

String的一个构造函数需要一个char[],因此可以直接构造String,而不需要连接技巧或StringBuilder。

result = new String(new char[] { char1, char2 });

答案 1 :(得分:2)

String连接的charString 1 。所以你可以做到,

result = String.valueOf(char1) + char2;

类似

result = "" + char1 + char2;

另外,我更喜欢使用StringBuilder。我还会将length参数,将RandomString移出方法。

class PasswordGenerator {
    final Random rand = new Random();
    final static String upperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    public String uppercaseLetters(int len) {
        StringBuilder sb = new StringBuilder(len);
        for (int i = 0; i < len; i++) {
            sb.append(upperCase.charAt(rand.nextInt(upperCase.length())));
        }
        return sb.toString();
    }
}

然后,您可以将其称为pg.uppercaseLetters(2)pg.uppercaseLetters(4),并获取n个字母(而不是2)。

1 char是Java中的integral value,因此char + charint < / SUP>

答案 2 :(得分:1)

您可以使用StringBuilder

public String uppercaseLetters() {
        char char1;
        char char2;
        String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String result;

        char1 = alphabet.charAt(rand.nextInt(25));
        char2 = alphabet.charAt(rand.nextInt(25));

        result = new StringBuilder().append(char1).append(char2).toString();

        return result;
    }

或仅return new StringBuilder().append(char1).append(char2).toString();

答案 3 :(得分:0)

更改一行:

result = "" + char1 + char2;

此外,您无需创建变量result,只需执行以下操作:

return = "" + char1 + char2;