Java课程设计 大整数类 实现加法

来源:互联网 发布:破墙软件 编辑:程序博客网 时间:2024/06/02 19:28

大数类:

// Filename: BigInt.javaclass BigInt{BigInt(){}BigInt(int len){bigint = new int[len];}BigInt(String BI){for(int i = 0; i < BI.length(); i++){bigint[i] = BI.charAt(i) - '0';}}BigInt add(BigInt B){int carry = 0;int i;int maxlen = bigint.length > B.bigint.length ? bigint.length : B.bigint.length + 1;BigInt tmp = new BigInt(maxlen);for(i = 0; i < maxlen; i++){tmp.bigint[i] = 0;}for(i = maxlen; i >= 0; i--){tmp.bigint[i] = bigint[i] + B.bigint[i] + carry;carry = tmp.bigint[i] / 10;if(carry == 1){tmp.bigint[i] /= 10;}}return tmp;}void print(){int i = 0;if(bigint[0] == 0)i++;for( ; i < bigint.length; i++){System.out.print(bigint[i]);}}private int [] bigint;}

测试程序:

// Filename: BigIntTestDrive.javaimport java.io.*;import java.util.Scanner;public class BigIntTestDrive{public static void main(String[] args) {Scanner in = new Scanner(System.in);String strA, strB;System.out.println("Input the first integer:");strA = in.next();BigInt BigA = new BigInt(strA);System.out.println("Input the second integer:");strB = in.next();BigInt BigB = new BigInt(strB);BigInt BigC = BigA.add(BigB);BigC.print();}}


原创粉丝点击