public class MyBigInt { private int[] array; public int length(){ return array.length; } public MyBigInt(int[] array){ this.array=array; } public int[] getArray(){ return array; } public int size(){ return array.length; } public MyBigInt(String string){ array = new int[string.length()]; for(int i=0;i<string.length();i++){ array[i] = string.charAt(string.length()-1-i)-48; } } public String toString(){ String str = ""; for(int i=size()-1;i>=0;i--){ if(!(i==size()-1&&array[size()-1]==0)){ str += array[i]; } } return str; } public MyBigInt add(MyBigInt myBigInt){ int s = size()>myBigInt.size()?size():myBigInt.size(); int[] temp = myBigInt.getArray(); int[] result = new int[s+1]; int flag = 0; for(int i=0;i<s;i++){ int a = i>=size()?0:array[i]; int b = i>=myBigInt.size()?0:temp[i]; int t = a+b+flag; result[i] = t%10; flag = t>=10?1:0; } result[s] = flag; return new MyBigInt(result); } public static void main(String[] args) { MyBigInt m1 = new MyBigInt("1"); MyBigInt m2 = new MyBigInt("999999999999999999999999999999999999999999999999999999999999999999999999999"); System.out.println(m1.add(m2)); } }