prasanth3305's blog

By prasanth3305, history, 8 years ago, In English

import java.util.ArrayList; import java.util.List; import java.util.Scanner;

public class Spreadsheet {

public static void main(String[] args) {
    // TODO Auto-generated method stub
     Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        String[] a =  new String[n] ;
        String[] b =  new String[n] ;
        String c = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        for(int i =0;i<n;i++){
            a[i] = in.next().toUpperCase();
        }
        for (int k =0;k<n;k++){
            String s = a[k];
            if(s.indexOf('C') - s.indexOf('R') > 1 && s.indexOf('C')>0 && s.indexOf('R')==0){
               int j = s.indexOf('C');
               int m = Integer.parseInt(s.substring(1, j));
               int l = Integer.parseInt(s.substring(j+1));
       // int t=0;
        List<Integer> ints = new ArrayList<Integer>();
            while(l!=0){
               int it = l%26 ;
               if(it == 0){
                 ints.add(26) ;
                  l = l/26 ;
                 l = l-1;
               }else{
                 ints.add(it);
             l = l/26 ;
               }
             //t++;
            }
            //String s4 = Integer.toString(q);
            //System.out.println(s4);
            //int l1 = s4.length();
            //Character tt = s4.charAt(0);
            //System.out.println(tt);
            String s5 = "";

            for(int t1 =0; t1 < ints.size();t1++){

               s5 = c.charAt(ints.get( t1) - 1) + s5 ;

            }

            String s4 = Integer.toString(m);

            b[k] = s5+s4;

}
            else {
               for(int x = 0 ; x< s.length();x++){
               Character j = s.charAt(x);
               boolean b2 = Character.isDigit(j);
               //System.out.println(b2);
               //System.out.println(j);
               if(Character.isDigit(j)){
                 String r = s.substring(x);
                 int i = Integer.parseInt(r);
                 //System.out.println(i);
                 String c1 = s.substring(0,x);
                 //System.out.println(c1);
                 int l = c1.length();
                 double sum =0;
                 for(int y=0;y<l;y++){
                  sum = sum + (Math.pow(26,y))*(c.indexOf(c1.charAt(l-y-1))+1);
                 }
                 String s1 = Integer.toString((int)sum) ;
                 String s2 = Integer.toString(i) ;

                 b[k]= 'R'+s2+'C'+s1;
                 break;
               }
               else {

               }
            }
}
            System.out.println(b[k]);
        }

} }

  • Vote: I like it
  • -13
  • Vote: I do not like it