题目:
Excel是最常用的办公软件。每个单元格都有唯一的地址表示。比如:第12行第4列表示为:“D12”,第5行第255列表示为“IU5”。
事实上,Excel提供了两种地址表示方法,还有一种表示法叫做RC格式地址。
第12行第4列表示为:“R12C4”,第5行第255列表示为“R5C255”。
你的任务是:编写程序,实现从RC地址格式到常规地址格式的转换。
【输入、输出格式要求】
用户先输入一个整数n(n<100),表示接下来有n行输入数据。
接着输入的n行数据是RC格式的Excel单元格地址表示法。
程序则输出n行数据,每行是转换后的常规地址表示法。
例如:用户输入:
2
R12C4
R5C255
则程序应该输出:
D12
IU5
解题思路:类似与进制转换问题
package 字符串处理;
import java.util.Scanner;
public class Excel地址转换 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int cc[] = new int[num];
int dd[] = new int[num];
for (int i = 0; i < num; i++) {
String s = sc.next();
int a = s.indexOf('R');
int b = s.indexOf('C');
int c = Integer.valueOf(s.substring(a + 1, b));
int d = Integer.valueOf(s.substring(b + 1));
cc[i] = c;
dd[i] = d;
}
sc.close();
for (int i = 0; i < num; i++) {
String s = "";
do {
int temp = dd[i] % 26;
char c = (char) (64 + temp);
s = c + s;
dd[i] /= 26;
} while (dd[i] != 0);
s = s + cc[i];
System.out.println(s);
}
}
}