第一部分 课本内容
package nine;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DecimalFormat;
import java.util.Random;
public class nine {
public char aa(char a1,char a2){
return (char)(a1+Math.random()*(a2-a1+1));
}
public static void main(String[] args) {
//格式化
DecimalFormat h=new DecimalFormat();
h.applyPattern("\u00A4##.##");
h.setGroupingSize(3);
h.setGroupingUsed(true);
String out=h.format(25456.358);
System.out.println(out);
//数学运算
System.out.println(Math.sin(Math.PI/6));
System.out.println(Math.toDegrees(Math.PI/2));
System.out.println(Math.toRadians(57));
System.out.println(Math.E);
System.out.println(Math.sqrt(15));
System.out.println(Math.pow(10, 6));
System.out.println(Math.ceil(1.2));
System.out.println(Math.rint(3.5));
System.out.println(Math.abs(-1.2));
System.out.println(Math.min(4.4,-4));
//随机数
double c=1+(int)(Math.random()*7);
System.out.println(c);
nine bb=new nine();
System.out.println(bb.aa('b','y'));
Random rr=new Random();
System.out.println(rr.nextInt(20));
System.out.println(rr.nextDouble());
//大数字处理
BigInteger big=new BigInteger("10");
BigInteger bi=new BigInteger("4");
System.out.println(big.divide(bi));
System.out.println(big.divideAndRemainder(bi)[1]);
System.out.println(big.compareTo(bi));
System.out.println(big.min(bi));
System.out.println(big.negate());
System.out.println(big.pow(2));
BigDecimal dd=new BigDecimal("45.6156");
BigDecimal d=new BigDecimal(5);
System.out.println(dd.subtract(d));
System.out.println(dd.divide(d, 3, BigDecimal.ROUND_HALF_DOWN));
System.out.println(dd.divide(d, 4,BigDecimal.ROUND_CEILING));
System.out.println(dd.divide(d, 4,BigDecimal.ROUND_FLOOR));
}
}
结果:
¥25,456.36
0.49999999999999994
90.0
0.9948376736367678
2.718281828459045
3.872983346207417
1000000.0
2.0
4.0
1.2
-4.0
5.0
m
10
0.21198527693128433
2
2
1
4
-10
100
40.6156
9.123
9.1232
9.1231
第二部分 练习
package ninee;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Random;
public class ninee {
public double ss(double r){
double s=(Math.PI)*r*r;
return s;
}//求面积
public BigDecimal chu(double b1,double b2,int b){
if(b<0){
System.out.println("b必须大于0");
}
BigDecimal a1=new BigDecimal(b1);
BigDecimal a2=new BigDecimal(b2);
return a1.divide(a2,b,BigDecimal.ROUND_HALF_DOWN);
}//两数相除,并保留相应位数
public static void main(String[] args) {
ninee mianji=new ninee();
double s=mianji.ss(6.6);
DecimalFormat h=new DecimalFormat();
h.applyPattern("####.#####");
//DecimalFormat.applyPattern("####.#####");??
System.out.println(h.format(s));
ninee aa=new ninee();
System.out.println(aa.chu(9.6, 2.3, 3));
//2-32间随机获取6个偶数,并求和
int i=0;
int sum=0;
while (i<6){
Random rr=new Random();
int tt=2+rr.nextInt(30);
if (tt%2==0){
sum=sum+tt;
i++;
System.out.println(tt);
}
}
System.out.println(sum);
}
}
结果:
136.84778
4.174
18
20
24
30
30
20
142