2021.02.24
第18次记录
课堂笔记:
1.BigDecimal属于大数据,精度极高。不属于基本数据类型,属于java对象(引用数据类型)。
这是SUN提供的一个类,专门用在财务软件中
2.注意:财务软件中double是不够用的
代码演示1:
public class BigDecimalText01 {
public static void main(String[] args) {
BigDecimal bd = new BigDecimal(1);
BigDecimal bd2 = new BigDecimal(2);
//调用add方法相加
BigDecimal bd3 = bd.add(bd2);
System.out.println(bd3);
}
}
输出结果:
3
代码演示2:
public class DecimalFormatText01 {
public static void main(String[] args) {
//DecimalFormat是专门负责数字格式化的
//DecimalFormat df = new DecimalFormat("数字格式");
/*
数字格式有哪些:
#:代表任意数字
,:代表千分位
.:代表小数点
0:代表不够时补0
如###,###.##:表示加入千分位,保留2个小数
*/
DecimalFormat df = new DecimalFormat("###,###.##");
String s1 = df.format(1234.564);
System.out.println(s1);
DecimalFormat df2 = new DecimalFormat("###,###.0000");
String s2 = df2.format(1234.56);
System.out.println(s2);
}
}
输出结果:
1,234.56
1,234.5600
代码演示3:
public class RandomText01 {
public static void main(String[] args) {
Random random = new Random();
//调用nextInt方法,随机产生一个随机数
int num1 = random.nextInt();
System.out.println(num1);
//产生[0-100]之间的随机数。不能产生101
int num2 = random.nextInt(101);
System.out.println(num2);
}
}
输出结果(随机生成):
-263324684
49
代码演示4:
/*
编写程序,生成5个不重复的随机数。重复的话重新生成。
最终生成的5个随机数放到数组中,要求数组中这5个随机数不重复
*/
public class RandomText02 {
public static void main(String[] args) {
Random random = new Random();
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
arr[i] = -1;
}
int index = 0;
while(index < arr.length){
int num = random.nextInt(6); //只能生成[0-5]的随机数
//判断arr[]数组中有没有num
if (!contains(arr, num)){
arr[index] = num;
index++;
}
}
//遍历以上数组
for (int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
/**
* 单独编写一个方法,这个方法专门用来判断数组中是否包含某个元素
* @param arr 数组
* @param key 元素
* @return true表示包含,false表示不包含
*/
public static boolean contains(int[] arr, int key){
//注意:这种方法有bug,排序出问题了
//Arrays.sort(arr);
//return Arrays.binarySearch(arr, key) >=0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == key){
return true;
}
}
return false;
}
}
输出结果(随机生成):
0
4
2
1
3