【P1914 小书童——凯撒密码】【Java】【int和char转换】

//package myPackage;
import java.util.*;
public class MyClass {
    
    
	public static void main(String[] args) {
    
    
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		String s1=in.next();
		char[]ch=s1.toCharArray();
		StringBuilder sb=new StringBuilder();
		for(int i=0;i<ch.length;i++) {
    
    
			sb.append((char)((Character.getNumericValue(ch[i])-10+n)%26+'a'));
		}
		System.out.println(sb);
	}
}

转化过程

Character.getNumericValue(ch[i])-10//小写字母在26个字母中的次序
Character.getNumericValue(ch[i])-10+n//向后移动n位
(Character.getNumericValue(ch[i])-10+n)%26//折叠回小写字母范围
(char)((Character.getNumericValue(ch[i])-10+n)%26+'a')//转化为char类型

猜你喜欢

转载自blog.csdn.net/m0_57937908/article/details/120143480