java.2
设计思路:用Random随机两个在一百以内的数和随机加减乘除四种运算法则;减法中被减数大的与小的做交换;乘法大于100的随机下一个;除法余数不为0的随机下一个; 源代码:
package team1;
import java.lang.Math;
import java.util.Random; import java.util.Scanner; public class Check { ?public static int a=new Random().nextInt(100); ?public static int b[][]=new int[100][2]; ?public static int c[]=new int[100]; ?static Scanner d=null; ??? public static void main(String[] args) { ??? ?int oneNum = (int)(1 + Math.random()*99); ??????? int twoNum = 1 + (int)(Math.random()*99); ??????? int thrNum = 1 + (int)(Math.random()*4); ??????? d =new Scanner(System.in); ??????? System.out.println("请输入题目总数量:"); ??????? int n=d.nextInt(); ??????? System.out.println("请输入一行的题目数量:"); ??????? ??? ?for(int i = 1;i <=n;i++) ??????? { ???b[i][0]=oneNum; ??? ??b[i][1]=thrNum; ??? ??c[i]=twoNum; ??? ??for(int j=0;j<i;j++) ??? ??{ ??? ???if(b[j][0]==oneNum&&b[j][1]==thrNum&&c[j]==twoNum) ??? ???{ ??? ????a=new Random().nextInt(100); ??? ???} ??? ??} ??? ??System.out.println(i); ??????????? if(thrNum == 1) ??????????? { ??????????????? System.out.println(oneNum + "+" + twoNum + "="); ??????????? } ??????????? if(thrNum == 2) ??????????? { ??????????? ?if(oneNum>=twoNum) ??????????????? {System.out.println(oneNum + "-" + twoNum + "=");} ??????????? ?else ??????????? ?{ ??????????? ??int T; ??????????? ??T=twoNum; ??????????? ??twoNum=oneNum; ??????????? ??oneNum=T; ??????????? ??System.out.println(oneNum + "-" + twoNum + "="); ??????????? ?} ??????????? } ??????????? if(thrNum == 3) ??????????? { ??????????? ?int A=oneNum *twoNum; ??????????? ?if(A>100) ??????????? ?{?a=new Random().nextInt(100); ??????????????? System.out.println(oneNum + "*" + twoNum +"="); ??????????? ?} ??????????? ?else ??????????? ??System.out.println(oneNum + "*" + twoNum +"="); ??????????? } ??????????? if(thrNum == 4) ??????????? { ??????????? ?int B=oneNum%twoNum; ??????????? ?if(B!=0&&twoNum==0) ??????????? ?{ ??????????? ??a=new Random().nextInt(100); ??????????? ?? System.out.println(oneNum + "/" + twoNum + "="); ??????????? ?} ??????????? ?else{ ??????????? ?? if(twoNum != 0) ???????????????????? { ???????????????????????? System.out.println(oneNum + "/" + twoNum? + "="); ???????????????????? } ???????????????????? else if(oneNum != 0) ???????????????????? { ???????????????????????? System.out.println(oneNum + "/" + twoNum + "="); ???????????????????? } ???????????????????? else ???????????????????? { ???????????????????????? System.out.println(30 + "/" + 15 + "=?"); ???????????????????? } ??????????? ?} ?????????????? ??????????? } ??????? } ??? } }
结果:
? ?验证课堂代码结果 1 ? 2 ? ?3 ? ?4 ? 5 ? ?6 ? ?7 ? ?8 ? ?课堂所问问题: 二进制的存储方式在磁盘的存储上都是二进制存储这点上都一样。从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:ASC码:?00110101?00110110?00110111?00111000↓?↓↓?↓十进制码:?5678?共占用4个字节。ASCII码文件可在屏幕上按字符显示,?例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。?由于是按字符显示,因此能读懂文件内容。二进制文件是按二进制的编码方式来存放文件的。?例如,?数5678的存储形式为:?00010110?00101110只占2个字节。二进制文件虽然也可在屏幕上显示,?但其内容无法读懂。流可以分为两种类型:文本流和二进制流。文本流是解释性的,最长可达255个字符,其中回车/换行将被转换为换行符“/n”,(如果以"文本"方式打开一个文件,那么在读字符的时候,系统会把所有的"/r/n"序列转成"/n",在写入时把"/n"转成"/r/n"?archim?‘s?opinion?)。二进制流是非解释性的,一次处理一个字符,并且不转换字符。通常,文本流用来读写标准的文本文件,或者将字符输出到屏幕或打印机,或者接受键盘的输入;而二进制流用来读写二进制文件(例如图形或字处理文档),或者读取鼠标输入,或者读写调制解调器。如果用文本方式打开文件,会把“0D?0A”自动变换成“/n”来存在内存中。写入的时候反向处理。?而二进制方式打开的话,就不会有这个过程。所以从上面可以看出:文本文件占磁盘空间大,读取速度比较慢,但打开后容易理解;二进制文件占磁盘空间小,读取速度快,如果要理解文件文件的意思需要自己进行解释。整数超出了范围java.math.BigDecimal?java.math.BigInteger?分别处理无限精度的浮点和整型 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |