计算A+B

作者: Moonsmile | 来源:发表于2017-03-23 00:18 被阅读0次

    代码很冗余

    时间限制:1秒空间限制:32768K热度指数:347
    **算法知识视频讲解
    题目描述
    给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。 现在请计算A+B的结果,并以正常形式输出。输入描述:
    输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。
    输出描述:
    请计算A+B的结果,并以正常形式输出,每组数据占一行。
    输入例子:
    -234,567,890 123,456,7891,234 2,345,678
    输出例子:
    -1111111012346912

    import java.awt.List;
    import java.lang.reflect.Array;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Scanner;
    import java.util.regex.Pattern;
    
    import javax.naming.ldap.SortControl;
    
    
    public class Main {
        
    
        public static void main(String[] args) {
            
            // TODO Auto-generated method stub
        
            Scanner sc=new Scanner(System.in);
            while(sc.hasNext()){
            boolean flag=false,flag1=false;    
            int A=0,B=0;
            String s=sc.nextLine();
            String a[]=s.trim().split(" ");
            String firstNumber[]=a[0].trim().split(",");
            String secendNumber[]=a[1].trim().split(",");
            int n=Integer.valueOf(firstNumber[0]);
            int m=Integer.valueOf(secendNumber[0]);
            if(n<0){        
                flag=true;
                A=A-(Integer.valueOf(firstNumber[0]))*(int)(Math.pow(10,(firstNumber.length-1-0)*3));
                for(int i=1;i<firstNumber.length;i++){
                 int temp=(Integer.valueOf(firstNumber[i]))*(int)(Math.pow(10,(firstNumber.length-1-i)*3));
                 A+=temp;
                }
                    
            }
            else{
                
                 for(int i=0;i<firstNumber.length;i++){
                     int temp=(Integer.valueOf(firstNumber[i]))*(int)(Math.pow(10,(firstNumber.length-1-i)*3));
                     A+=temp;
                 }
                
            }
            if(m<0){        
                flag1=true;
                 B=B-(Integer.valueOf(secendNumber[0]))*(int)(Math.pow(10,(secendNumber.length-1-0)*3));
          
                 for(int i=1;i<secendNumber.length;i++){
                 int temp=(Integer.valueOf(secendNumber[i]))*(int)(Math.pow(10,(secendNumber.length-1-i)*3));
                 B+=temp;
                
                }
                    
            }
            else{
                
                 for(int i=0;i<secendNumber.length;i++){
                     int temp=(Integer.valueOf(secendNumber[i]))*(int)(Math.pow(10,(secendNumber.length-1-i)*3));
                     B+=temp;
                 }          
            }
         if(!flag){
                
            }
            else{
                A=-A;
            }
         if(!flag1){
            
         }
         else{
            B=-B;
         
         }
         System.out.println(A+B);
     
            }        
        }
    }
    

    相关文章

      网友评论

          本文标题:计算A+B

          本文链接:https://www.haomeiwen.com/subject/ptoanttx.html