我已经写了一个凯撒密码的代码,其中第一个输入是没有任何空格的字符串的长度,第二个输入是要旋转的字符串&第三个是旋转的关键。我的代码正在工作,除了字符串的最后一个字符。为此,一些奇怪的角色来了,而不是字母表。请帮助!!! ..我在我的智慧结束..只是无法弄清楚!下面是代码: -最后一个字符旋转不正确
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
int length,rotate,i,x;
Scanner scan=new Scanner(System.in);
String s;
length=scan.nextInt();
s=scan.next();
rotate=scan.nextInt();
char c[]=s.toCharArray();
for(i=0;i<length;i++) {
x=c[i];
if(((x>65)||(x==65))&&((x==90)||(x<90))) {
x=x+rotate;
if(x>90)
x=x-90;
}
else if(((x>97)||(x==97))&&((x==122)||(x<122))) {
x=x+rotate;
if(x>122)
x=x-122;
}
c[i]=(char)x;
}
System.out.println();
for(i=0;i<length;i++)
System.out.print(c[i]);
}
}
输入: -
11
middle-Outz
2
输出应该是: -
okffng-Qwvb
而是我的输出如来: -
okffng-Qwv
请大家帮忙!!!请...有人告诉我的代码中有什么错误!
请在发布之前花时间格式化您的代码。 –