Loading

课后整理总结

上次课堂内容及测试的整理总结。

动手动脑问题:

1.编写一个方法,使用算法生成指定数目(比如1000个)的随机整数。

 

 结果(确实是1000个但是太长了显不出了):

 

 

课上作业的重点摘要:

1.判重问题

实现代码如下:

 

首先我们使用ArrayList集合来存储每道题的字符串,定义如下:

static ArrayList<String> eq = new ArrayList<>();
使用 .equals()可以比较内外两个字符串是否相同,即可完成判重操作。
使用循环从i=0到.size()即其长度。若无相同则将其写入数组。
 

2.浮点数精确运算与超大整数运算

  浮点数无法精确表示数据。由于需要使用二进制来表述十进制,导致浮点数的实际数据并不是精确的,

因此,在商业计算中,不能使用浮点数来表示数据。这时候就需要实现浮点数精确运算。此时,就需要

BigDecimal出马。
 JAVA中的BigDecimal提供了对于小数的精确运算。想要使用它,首先要在代码开头加入
    import java.math.BigDecimal;
创建其对象BigDecimal  bigDecimal = new  BigDecimal(xxx);
在使用BigDecimal时,要注意,由于BigDecimal创建的是对象,因此在计算BigDecimal类型的数据时,
不能使用传统的"+-"等运算符号,而需要调用其方法:

add(BigDecimal) BigDecimal对象中的值相加,返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,返回这个对象。
multiply(BigDecimal) BigDecimal对象中的值相乘,返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,返回这个对象。

  与前者相同,long型数据表示整数的最大值为 9,223,372,036,854,775,807(2^63 -1);但是我们如果
想要表示更大的整数,则会出现问题。此时就需要使用BigInteger来表示超大整数。

 JAVA中的BigIntegerl提供了对于超大整数的精确运算。想要使用它,首先要在代码开头加入

import java.math.BigInteger;
赋值:BigInteger a=new BigInteger("1");
方法:

add(); 相加 
BigInteger a=new BigInteger(“23”); 
BigInteger b=new BigInteger(“34”); 
a. add(b);

subtract(); 相减 
multiply(); 相乘 
divide(); 相除取整 
remainder(); 取余 
pow(); a.pow(b)=a^b 
gcd(); 最大公约数 
abs(); 绝对值 
negate(); 取反数 

部分代码

 -ByAurora

 

posted @ 2022-09-30 10:17  冰稀饭Aurora  阅读(18)  评论(0编辑  收藏  举报