9.16java总结
枚举 EnunTest.java
运行结果
false
false
true
SMALL
MEDIUM
LARGE
枚举类型可以直接用==来判断是否相等,即代表数据串,又有数的属性。是引用类型。
浮点数计算精度缺失问题
因为十进制小数在转换为二进制小数时可能存在会存在无穷小数如0.9转化为二进制为11100100100100
.....
消灭不了小数部分,会超出double字节空间
运用java.math.BigDecimal。进行精确运算
课堂测试
思路for循环设置个数
else if语句区分四种运算,while循环处理乘法结果为两位数,除法整除
数组记录每个数和符号,先产生算式,查重,循环直到没有重复
程序源代码
//信1805-2 张云飞 20183509
package jishu;
import java.util.Random;
import java.util.Scanner;
public class size {
static Scanner input=new Scanner(System.in);
static int num;
static String []str=new String[4];
public static void main(String[]args) {
int []a=new int[10000000];
int []b=new int[10000000];
int []c=new int[10000000];
System.out.print("请输入一共输入多少个");
int x;
num=input.nextInt();
System.out.println("一行个数");
x=input.nextInt();
str[0]="+";
str[1]="-";
str[2]="*";
str[3]="/";
Random rand=new Random();
int num1,num2,num3;
int num0=0;
for(int i=0;i<num;i++) {
int z=0;
do{
z=0;
num1=rand.nextInt(99)+1;
num2=rand.nextInt(4);
if(num2==1)
num3=rand.nextInt(num1);
else if(num2==2) {
int xnn=100/num1;
num3=rand.nextInt(xnn)+1;
}
else if(num2==3) {
num3=rand.nextInt(num1)+1;
boolean tf=true;
while(tf){
if(num1%num3==0)tf=false;
else
num3=rand.nextInt(num1)+1;
}
}
else
num3=rand.nextInt(98)+1;
if(num0==0) {
a[0]=num1;
b[0]=num2;
c[0]=num3;
num0=1;
}
for(int j=1;j<num0;j++) {
if((num1==a[j])&&(num2==b[j])&&(num3==c[j])) {
z=0;
}
else {
z=1;
a[j]=num1;
b[j]=num2;
c[j]=num3;
num0++;
}
}
}while(z==1);
System.out.print(i+1);
System.out.print("、");
System.out.print(num1);
System.out.print(str[num2]);
System.out.print(num3);
System.out.print("=");
if((i+1)%x==0)
System.out.println(" ");
else
System.out.print(" ");
}
}
}