- 256
- 0
- 约5.75千字
- 约 7页
- 2017-01-30 发布于重庆
- 举报
类与对象基础实验(三)实验报告
浙江大学城市学院实验报告
课程名称 面向对象程序设计
实验项目名称 类与对象基础实验(三)
学生姓名 专业班级 学号
一. 实验目的和要求
1.掌握大数处理与BigInteger类
2.掌握时间处理Date类与SimpleDateFormat类、Calendar类
3.掌握异常处理与Exception类
二. 实验内容
1. 编程实现:大整数的数值计算
2. 编程实现:用大整数求阶乘之和
3. 编程实现:计算两个日期的天数之差
4. 编程实现:计算生日信息
5. 编程实现:数字转换的异常处理
三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)
1. 编程实现:大整数的数值计算。编写一个Java应用程序,计算两个大整数的和、差、积和商,并计算一个大整数的因子个数。(部分源码参考讲义)
请分析并回答以下问题:
程序源码如下:
import java.math.*;
class BigIntegerExample
{
public static void main(String args[])
{ BigInteger n1=new BigInteger(987654321987654321987654321),
n2=new BigInteger(123456789123456789123456789),
result=null;
result=n1.add(n2);//n1和n2做加法运算
System.out.println(和:+result.toString());
result=n1.subtract(n2);//n1和n2做减法运算
System.out.println(差:+result.toString());
result=n1.multiply(n2);//n1和n2做乘法运算
System.out.println(积:+result.toString());
result=n1.divide(n2);//n1和n2做除法运算
System.out.println(商:+result.toString());
BigInteger m=new BigInteger(1968957),
COUNT=new BigInteger(0),
ONE=new BigInteger(1),
TWO=new BigInteger(2);
System.out.println(m.toString()+的因子有:);
for(BigInteger i=TWO;pareTo(m)0;i=i.add(ONE))
{ if((n1.remainder(i).compareTo(BigInteger.ZERO))==0)
{ COUNT=COUNT.add(ONE);
System.out.print( +i.toString());
}
}
System.out.println();
System.out.println(m.toString()+一共有+COUNT.toString()+个因子);
}
}
请将运行结果截图:
请比较BigInteger和long的主要区别,并简要说明BigInteger的主要用途。
答:
如果使用浮点型表示大整数,往往需要容忍精度的损失,但是运算速度相对快很多;而用BigInteger表示大整数则不会损失数据位,但是运算速度相对较慢
2. 编程实现:用大整数求阶乘之和。编写一个Java应用程序,用BigInteger计算1!+2!+3!+…+n!。要求n的值从键盘输入。
请分析并回答以下问题:
程序源码如下:
import java.util.*;
import java.math.BigInteger;
public class BigIntegerFa {
public static void main(String[] args){
int n;
BigInteger
原创力文档

文档评论(0)