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