枚举 EnunTest.java
运行结果
falsefalsetrueSMALLMEDIUMLARGE
枚举类型可以直接用==来判断是否相等,即代表数据串,又有数的属性。是引用类型。
浮点数计算精度缺失问题
因为十进制小数在转换为二进制小数时可能存在会存在无穷小数如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(" ");
}}
}
转载于:https://www.cnblogs.com/huiwuyan20/p/11543594.html
