数字的格式化
/*
数字的格式化
*/
import java.text.DecimalFormat;
public class DecimalFormatTest01 {
public static void main(String[] args) {
//java.text.DecimalFormat专门负责数字格式化
/*
# 代表任意数字
, 代表千分位
。 代表小数点
0 代表不够时补0
*/
DecimalFormat df = new DecimalFormat("###,###.0000");
String s = df.format(1234.56);
System.out.println(s);//1,234.5600
}
}
财务数据处理BigDecimal
/*
1、BigDecimal 属于大数据,精度极高。不属于基本数据类型,属于Java对象(引用数据类型)这是一个SUM公司提供的一个类。专门在财务软件中使用
2、注意:财务软件中double是不够的,要使用java.math.BigDecimal
*/
import java.math.BigDecimal;
public class BigDecimalTest01 {
public static void main(String[] args) {
BigDecimal v1 = new BigDecimal(100);//精度极高的大数据
BigDecimal v2 = new BigDecimal(200);
//求和(v1 + v2不行,v1 v2都是引用不能直接使用“求和”)
BigDecimal v3 = v1.add(v2);
System.out.println(v3);//300
//除法
BigDecimal v4 = v2.divide(v1);
System.out.println(v4);//2
}
}
生成随机数
/*
随机数
*/
import java.util.Arrays;
import java.util.Random;
public class randomTest01 {
public static void main(String[] args) {
//创建随机数对象
Random random = new Random();
//随机产生一个int类型取值范围内的数字
int num1 = random.nextInt();
System.out.println(num1);
//产生[0-100]之间的随机数,不能产生01
//nextInt翻译为:下一个int类型的数据是01,表示只能取值到100
int num2 = random.nextInt(101);//不包含101
System.out.println(num2);
randomTest011();
}
//生成5个不重复的随机数,重复的重新生成,放在数组当中
public static void randomTest011() {
Random random1 = new Random();
//准备一个长度为5的一维数组
int[] arr = new int[5];//默认值为0
for (int i = 0; i < 5; i++) {
arr[i] = -1;
}
//循环 生成随机数
int index = 0;
while (index < arr.length) {
//生成0-100之间的随机数
int num3 = random1.nextInt(101);
//判断arr数组中是否已经有生成的这个数
if (!contains(arr, num3)) {
arr[index] = num3;
index++;
}
}
for (int i = 0; i <index ; i++) {
System.out.println(arr[i]);
}
}
public static boolean contains(int[] arr,int key){
//以下方案有bug,升序出错
//对数组进行升序
// Arrays.sort(arr);
// //进行二分法查找
// //二分法查找时,查找结果大于等于0说明存在该数据
// return Arrays.binarySearch(arr,key) >=0;
for (int i = 0; i < arr.length; i++) {
if(arr[i] == key)
return true;
}
return false;
}
}
活动地址:CSDN21天学习挑战赛