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
なぜあなたはあなたの結果の文字列に9を得ることがないのか分かりましたか? – dasblinkenlight
質問の中心ではない小さな間違いを除けば、コードは主に機能しているので、私はこのトピックをオフトピックとして閉じるよう投票しています。作業コードはcodereviewサイトに投稿する必要があります。 – dasblinkenlight