import java.util.*;
class Bignumber {
private String data;
private int length;
Bignumber (String str)
{
data = str;
length = str.length();
}
Bignumber add (Bignumber str)
{
Bignumber bb = null;
String temp="";
int max_length=( this.length > str.length ) ? this.length : str.length ;
int min_lenrth=( this.length < str.length ) ? this.length : str.length ;
for (int i=0;i<max_length-min_lenrth;i++)
temp+="0";
if(this.data.length() == max_length)
{
str.data = temp + str.data;
}
else
{
this.data = temp + this.data;
}
String tempString = "";
int jw = 0;
for(int j = max_length-1; j>=0; j--)
{
int tempnum = 0;
int a = Integer.parseInt(String.valueOf(this.data.charAt(j)));
int b = Integer.parseInt(String.valueOf(str.data.charAt(j)));
if ( a + b + jw >= 10 && j != 0)
{
tempnum = a + b + jw - 10 ;
jw = 1;
}
else
{
tempnum = a + b + jw ;
jw = 0 ;
}
tempString = String.valueOf(tempnum) + tempString ;
}
this.data = tempString;
return bb ;
}
void display ()
{
System.out.println(this.data.toString());
}
}
class BignumberTest{
public static void main (String [] args)
{
Scanner s = new Scanner (System.in);
System.out.println("input first bignumber str1:");
String str1 = s.nextLine();
System.out.println("input first bignumber str2:");
String str2 = s.nextLine();
Bignumber b1 = new Bignumber (str1);
Bignumber b2 = new Bignumber (str2);
b1.add(b2);
b1.display();
}
}
实现一个大数类
最新推荐文章于 2022-04-13 17:52:03 发布