数字类
//数字格式化
// 1. java.text.DecimalFormat
/*DecimalFormat m = new DecimalFormat (String类型的数字格式化)
* 数字格式:
* # 代表任意数字
* , 代表千分位
* . 代表小数点
* 0 代表不够时补0*/
DecimalFormat m = new DecimalFormat ("###,###.##");
String s = m.format(1234.56);//调用format方法,传进去double型的,返回字符串型的
System.out.println(s);//1,234.56
DecimalFormat m1 = new DecimalFormat ("###,###.0000");
String s1 = m1.format(1234.56);
System.out.println(s1);//1,234.5600
// 2. java.math.BigDecimal(了解,这是SUN提供的一个类,专门用于财务软件中,仅仅double不够用,属于大数据,精度极高,不属于基本数据来类型,属于引用数据来类型,即java对象)
BigDecimal v1 = new BigDecimal(100);//构造方法中可以传入int long double等数据
BigDecimal v2 = new BigDecimal(200);
//求和,不可以直接v1+v2,因为二者都是引用,不可以直接相加求和, 调用方法求和: v1.add(v2); 也有加 减 乘 除的方法
BigDecimal v = v1.add(v2);
System.out.println(v);//300
}
随机数类
import java.util.Random;
public class Ran {
public static void main(String[] args) {
// 1.随机数类,在 java.util.Random中
Random r = new Random();//创建随机数对象
int n = r.nextInt();//产生一个在int 范围内的随机数
System.out.println(n);
// 2.生成特定区间的随机数,
int n1 = r.nextInt(101);//对于区间0到100之间,不包括101
System.out.println(n1);
// 3. 要求:生成5个不重复的特定区间[0,100]随机数,重复的话就重新生成,最终将生成5个不重复的随机数放到数组中
//准备长度为5的一维数组,创建随机数对象
int[] arr = new int[5];
Random a = new Random();
//因为 数组默认值是0,生成的也有0 ,就不好区分,是先给数组默认值-1
for(int i=0;i<arr.length;i++) {
arr[i] = -1;
}
//循环生成随机数
int index = 0;//数组下标,放到数组中时,要更新
while(index<arr.length) {
int s = a.nextInt(101);//对于区间0到100之间,不包括101
//判断数组中有没有此数字,若没有,就将其放到数组中
//if(判断数组是否包含此数字,可以单独在外面编写一个方法,实现判断数组中是否包含某个数字)
if(!contains(arr,s)) {
arr[index++]=s;
}
}
//遍历以上数组
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
}
//实现判断数组中是否包含某个数字
public static boolean contains(int[] arr,int key) {
for(int i=0;i<arr.length;i++) {
if(arr[i]==key) {
return true;
}
}
return false;
}
}