现在的位置: 首页 > 综合 > 正文

《两个大的整数的运算——Java第九周》

2013年12月03日 ⁄ 综合 ⁄ 共 1038字 ⁄ 字号 评论关闭

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:   《两个大的整数的运算——Java第九周》                          
* 作    者:       刘江波                      
* 完成日期:    2012     年   10    月    21    日
* 版 本 号:   v1.2      

* 对任务及求解方法的描述部分
* 问题描述: 

封装一类Java对象,计算两个大整数(如123456789123456789123456789和987654321987654321987654321)的和、差、积和商,并计算一个大整数的因子个数(因子中不包括1和大整数本身)。
* 程序头部的注释结束
*/

BigInteger类

import java.math.BigInteger;  
import java.math.*;  
public class BigInt {  
    BigInteger m1;  
    BigInteger m2;  
    BigInteger m3;  
  
    BigInt(String s1, String s2) {  
        m1 = new BigInteger(s1);  
        m2 = new BigInteger(s2);  
    }  
  
    public void add() {  
        m3 = m1.add(m2);  
        System.out.println("两个数的和为:" + m3);  
    }  
  
    public void cut() {  
        m3 = m1.subtract(m2);  
        System.out.println("两个数的差为:" + m3);  
    }  
  
    public void multiply() {  
        m3 = m1.multiply(m2);  
        System.out.println("两个数的积为:" + m3);  
    }  
  
    public void divide() {  
        m3 = m1.divide(m2);  
        System.out.println("两个数的商为:" + m3);  
    }  
  
    public void factorCount() {  
        int count = 0;  
        for (BigInteger i = BigInteger.valueOf(2); i.compareTo(m1) < 0; i = i  
                .add(BigInteger.ONE)) {  
            if (m1.remainder(i).equals(BigInteger.ZERO)) {  
                ++count;  
            }  
        }  
        System.out.println(m1 + "的因子个数为:" + count);  
    }  
  
}  

抱歉!评论已关闭.