A+B Problem(V)

描述
做了A+B Problem之后,Yougth感觉太简单了,于是他想让你求出两个数反转后相加的值。帮帮他吧
输入
有多组测试数据。每组包括两个数m和n,数据保证int范围,当m和n同时为0是表示输入结束。
输出
输出反转后相加的结果。
样例输入
1234 1234
125 117
0 0
样例输出
8642

1232

import java.util.*;  
public class Main { 
   static Scanner in= new Scanner(System.in);
    public static void main(String[] args) { 
        while(in.hasNext()){   
          String s1=in.next();
          StringBuilder s2=new StringBuilder(s1);
          s2.reverse();
          String s3=in.next();
          StringBuilder s4=new StringBuilder(s3);
          s4.reverse();
          if(s1.charAt(0)-'0'==0&&s2.charAt(0)-'0'==0)
        	  break;
          int n=0,m=0;
          for (int i = 0; i < s2.length(); i++) {
			  n+=(s2.charAt(i)-'0')*Math.pow(10, s2.length()-i-1);
		   }
          for (int i = 0; i < s4.length(); i++) {
 			  m+=(s4.charAt(i)-'0')*Math.pow(10, s4.length()-i-1);
 		   }
        	  System.out.println((m+n));
        } 
    }      
}
找到了reverse在类里面,那么就很简单了

我又回来改进啦:下面附上优化之后的程序:

import java.util.*;  
public class Main { 
   static Scanner in= new Scanner(System.in);
    public static void main(String[] args) { 
        while(in.hasNext()){   
          String s1=in.next();
          String s2=in.next();
          if(s1.charAt(0)-'0'==0&&s2.charAt(0)-'0'==0)
         break;
          int x=0,y=0;
          for(int i=s1.length()-1;i>=0;i--)  
              x=x*10+(s1.charAt(i)-'0');  
          for(int i=s2.length()-1;i>=0;i--)  
              y=y*10+(s2.charAt(i)-'0'); 
         System.out.println(x+y);
        } 
    }      
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值