有两个非常大的整数要实现相加,超出了整型的表示范围,但要求结果必须准确,请采用字符串实现此功能。
提示,可以通过获取每一个字符串的每一位循环相加的方式实现。(只要求实现两个整数相加)
可能用到的方法:
String.valueOf(字符变量);可以把一个字符转换成字符串
Integer.parseInt(字符串变量);可以把一个数值字符串转换成整数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
String add1=input.nextLine();
String add2=input.nextLine();
int jinwei=0;
int length1=add1.length();
int length2=add2.length();
int length=length1>length2?length1:length2;
String s="";
for(int i=0;i<length;i++){
char c1='0';
if(length1>i)c1=add1.charAt(length1-i-1);
char c2='0';
if(length2>i)c2=add2.charAt(length2-i-1);
int t1=Integer.parseInt(String.valueOf(c1));
int t2=Integer.parseInt(String.valueOf(c2));
int sum=t1+t2+jinwei;
if(sum>=10){
jinwei=1;
sum=sum%10;
}
else{
jinwei=0;
}
s=sum+s;
}
if(jinwei==1)s=jinwei+s;
System.out.println(s);
}
}