私はJavaを初めて使いました。これは非常に基本的な質問です。これはプログラムのごく一部です。私は何をしなければならないのですか:
ユーザは、keyLength
に数字(1-26)を暗号化として入力します。 numberが1の場合、secretletter
はaとなります。その2はB、というように、それは私が知りたいことは、これを行うより良い方法がある、ということである26基本的な質問
になりますZまでされるかどう:
if (keyLength==1){
secretletter=a;
if (keyLength==2){
secretletter=b;
私が持っているものdoneは下ですが、私のforループは間違っていて、私は常にzで終わります。
public static char secret(String str,int keyLength){
char secretletter = 0;
if (keyLength>=0 && keyLength<27){
for(char i='a'; i<='z';i++){
secretletter=i;
}
}
return secretletter;
}
編集:私は私のミスを発見し、他の男@that同様
secretletter=(char)('a'+ keyLength - 1);
'文字secretLetter = '' + KEYLENGTH - 1;' –
たぶんまた[この前の質問](http://stackoverflow.com/questions/41580795/cant-shift-caesarを見てみましょことを検討-cipher-by-more-than-1) – MadProgrammer
あなたがしていることは間違っています。ヒント: 'String'は' char'配列です。ですから、forループでは、秘密鍵で各文字を変更しようとします。 –