解题思路:
定义数组存储26个字母
1. 取余得最后一个字母
2. 除法得前边的字母
重复1,2,知道最后结果小于26
注意事项:
如果被整除,取余得结果取最后一个值
参考代码:
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { // 初始化 String temp = "ABCDEFGHIGKLMNOPQRSTUVWXYZ"; char[] letter = temp.toCharArray(); // 输入 Scanner sc = new Scanner(System.in); int num = sc.nextInt(); // 判断 StringBuilder sb = new StringBuilder(); // 选择StringBuilder,是因为它有速度优势 while(num>26){ int a = num%26; // 如果刚好被除尽,取最后一个值Z,并且num值要-1 if(a==0){ a=26; num-=26; } // 取余得到最后一个值 sb.insert(0, letter[a-1]); // 得到新的结果 num /= 26; } sb.insert(0, letter[num-1]); // 输出 System.out.println(sb.toString()); } }
0.0分
6 人评分