还是一个比较有趣的题目,真的感觉自己在破解密码,感觉字符加减还是比较麻烦的
掌握知识点
- chatAt()方法的应用
- 灵活控制chat类型数据的加减
- 字符串类型转为char类型数组,然后逐个比较和控制
通关源码
import java.util.Arrays;
import java.util.Scanner;
public class PassWord {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String code = sc.next();
char[] arr = new char[code.length()]; //为char类型数组开辟空间,注意这里的字符参数加了()
for(int i = 0; i < code.length(); i++){ //这里同样是字符长度为参数加()
if(code.charAt(i) <= (char)('Z' - n)){
//charAt(i)返回字符串索引,Z - n是一个分界线
arr[i] = (char)(code.charAt(i) + n);
}else{
arr[i] = (char)(code.charAt(i) - 26 + n);
}
System.out.print(arr[i]); //打印数组就行了
}
}
}