地址转换


    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 com.zcb;

import java.util.Scanner;
/**
 * 
 * @author zhengchubin
 *
 */
public class AddressChange {
	public static void main(String args[]){
		//java简单的输入处理
		Scanner s = new Scanner(System.in);
		int num = s.nextInt();
		//temp用来接收输入的空格
		String temp = s.nextLine();
		for(int i=0;i<num;i++){
			String str =s.nextLine();
			fj(str);
		}
	}
	//该方法用来分解原本的地址如:R12C4
	public static void fj(String str){
		int i = str.indexOf("R");
		int j = str.indexOf("C");
		String r1 = str.substring(i+1,j);
		String c1 = str.substring(j+1,str.length());
		String result = change(r1,c1);
		System.out.println(result);
	}
	//根据行数跟列数进行转换
	public static String change(String r1,String c1){
		StringBuilder str = new StringBuilder();
		int lie = Integer.valueOf(c1);
		int hang = Integer.valueOf(r1);
		if(lie<=26){
			char m = 'A';
			str.append(m);
		}else{
			int t = lie/26;
			char m = (char) (t-1+'A');
			int t2 = lie%26;
			char m2 = (char) (t2-1+'A');
			str.append(m);
			str.append(m2);
		}
		str.append(r1);
		return str.toString();
	}
}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值