0
我想匿名字符串(来自用户的任意输入),但仍保留其结构。因此,我想用随机小写字母,随机数字和大写字母和随机大写字母替换小写字母。用字符串中的随机字符替换字母和数字
我已经想出了这个功能,但我想知道这是最快/最好的方式吗?
public String anonymiseString(String originalInput){
StringBuilder input = new StringBuilder(originalInput);
Random r = new Random();
char currentChar;
for(int i = 0; i < input.length(); i++) {
currentChar = input.charAt(i);
if(Character.isUpperCase(currentChar))
input.setCharAt(i, (char) (r.nextInt(26) + 'A'));
else if (Character.isLowerCase(currentChar))
input.setCharAt(i, (char) (r.nextInt(26) + 'a'));
else if (Character.isDigit(currentChar))
input.setCharAt(i, (char) (r.nextInt(10) + '0'));
}
return input.toString();
}
的例子可以在这里运行:https://ideone.com/VNebO0
尽管这个问题可以吸引很好的答案,但由于您正在提交您希望改进的工作代码,所以最好在[CodeReview stackexchange](http://codereview.stackexchange.com/)上收到。 – Aaron
你知道为什么你从未在结果字符串中得到九个结果吗? – dasblinkenlight
我投票结束这个问题作为题外话,因为代码主要是工作,除了一个微不足道的问题的核心。工作代码应该发布到codereview站点。 – dasblinkenlight