• 软件大赛excel转换


    package com.lanqiaobei.dati_01;
    
    import java.util.Scanner;
    /*
     * 
      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
     * 
     * */
    public class ChangeExcel {
    
    	/**
    	 * @param args
    	 * @author wildcat
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Scanner sc=new Scanner(System.in);		//从 命令行读取
    		int num=sc.nextInt();
    		String next="";							//用来储存读入的下一个字符串
    		String result="";
    		for (int i=0;i<num;i++){
    			next=sc.next();				//获得下一个字符串
    			
    			//获得行号
    			int index=next.indexOf("C");		      //获得C所在的下标
    			
    			String row=next.substring(1, index);				//获得行和列的内容
    			String col=next.substring(index+1, next.length());
    			String cols=changeTo(Integer.parseInt(col));		//把行转化为26进制
    			
    			result+=cols+row+"\n";				//吧结果加到result中
    			
    		}
    		System.out.println(result);
    		
    	}
    	/*把一个整数转换为26进制,对应关系如下。。
    	 * 0,1,2,3,4,5,
    	 * A, B, C, D,E , F
    	 * 
    	 * 
    	 * */
    	public static String changeTo(int col){    	
    		String num26="";
    		int pow=0;
    		while(col>0){
    			int yu=col%26;
    			if (yu==0) yu=26;
    		
    			num26=String.valueOf((char)(yu+64))+num26;   
    			col=(col-yu)/26;
    		}
    		return (num26);
    		
    	}
    	
    	
    	
    	
    
    }
    

  • 相关阅读:
    CSV文件读取类
    一个参数处理类
    记一个mysql的问题
    php问题小记
    wsl开nginx和php-fpm遇到的几个小问题
    debian apache2.4 virtual host 使用
    debian 安装 apache2和php7
    杂记整理三:php、thinkphp和sql
    杂记整理二:linux与程序安装
    杂记整理一:javascript, jQuery 以及 ECMAscript
  • 原文地址:https://www.cnblogs.com/lixingle/p/3312989.html
Copyright © 2020-2023  润新知