如何生成具有用户定义长度的字符串?

时间:2012-08-18 20:29:46

标签: android string

我需要能够生成具有用户定义长度的字符串。 例如,如果用户输入128,我需要一个128个字符的字符串。 关于如何实现这一目标的任何想法?

2 个答案:

答案 0 :(得分:1)

您可以创建X随机char(在循环中)并使用StringBuffer来连接它们

答案 1 :(得分:1)

static final String generate(int n) {
  final char[] buf = new char[n];
  final Random rand = new Random();
  final int n_cs = Character.MAX_VALUE + 1;
  while (n > 0) {
    char ch;
    do {
      ch = (char) rand.nextInt(n_cs);
    } while (Character.isHighSurrogate(ch)
               || Character.isLowSurrogate(ch));
    buf[--n] = ch;
  }
  return new String(buf);
}

通常,您应该指定某种字母表,如下所示......

static final String generate(int n, final char[] alphabet) {
  final char[] buf = new char[n];
  final Random rand = new Random();
  final int n_alpha = alphabet.length;
  while (n > 0) {
    buf[--n] = alphabet[rand.nextInt(n_alpha)];
  }
  return new String(buf);
}