计算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