[JAVA]パスワードの切り替え
1803 ワード
問題の説明
1つの暗号化方法は、1つの文の各アルファベットを一定の距離で伸ばし、別のアルファベットに変換することです.例えば、「AB」は1で「BC」、3で「DE」を表す.「z」が1に等しいと「a」になります.文字列sと距離nを入力し、sがnの暗号文の関数を生成し、ソリューションを完了します.
[制限条件]
いくら押してもスペースは空いています.
sは、小文字、大文字、スペースのみから構成されます.
sの長さは8000以下です.
nは1以上,25以下の自然数である.
[I/O例]
s n result
"AB" 1 "BC"
"z" 1 "a"
"a B z" 4 "e F d"
コード#コード#
public static String solution(String s, int n) {
String answer = "";
String result = " ";
//A=65 Z=90 : a=97 z= 122
for (int i = 0; i <s.length(); i++) {
char chatNum = s.charAt(i);
if(chatNum == 32) {
answer = answer + " ";
continue;
}
int num = chatNum;
int number = num + n;
System.out.print("num:"+num+" ");
System.out.println();
if((number > 122 && (num >= 97 && num<=122)) || (number > 90 && (num >= 65 && num <= 90))){
number = number - 26;
}
System.out.print("num2:"+number+" ");
char res = (char)number;
result = String.valueOf(res);
answer = answer +""+result;
}
return answer;
}
アスキーのパスワードを思い出して検索したらA=65 Z=90 : a=97 z= 122
String->char形式のコピー
char char変数=string変数.charat(文字列の桁数);
60分ぐらい試験を受けました.
複数回の試行後
if((number > 122 && (num >= 97 && num<=122)) || (number > 90 && (num >= 65 && num <= 90)))
追加に成功しました.Reference
この問題について([JAVA]パスワードの切り替え), 我々は、より多くの情報をここで見つけました https://velog.io/@mils333/시저-암호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol