00JAVA语法基础_四则运算 01
自动生成30道四则运算的数学题,当前只是简单符合出题,答题和判断的代码,还没做要求,所以现在只是能随机生成三十道100以内的加减法和九九乘法表的乘除法
package Sizeyunsuan; /** * 30道100以内四则运算 * * */ public class Random { public static int getRandom( int n, int m) { //产生n->m的随机数 return (int) (Math.random() * (m - n) + n); } public static char getCharRandom() { //随机产生四种运算符 char sign = 0; int Sn; Sn = getRandom(1,5); switch(Sn) { case 1:sign = '+' ;break; case 2:sign = '-' ;break; case 3:sign = '×' ;break; case 4:sign = '÷' ;break; } return sign; } public static void main(String[] args) { // TODO Auto-generated method stub int i = 0; do { int x = (int) (Math.random() * (100 - 1 )+ 1); //产生1-100的随机数 int y = (int) (Math.random() * (100 - 1 )+ 1); //产生1-100的随机数 char sign = getCharRandom(); /* * 判断乘法的范围*/ switch(sign) { case '+': System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" ); i++;break; case '-': if(x < y) //判断减数与被减数的大小关系 { int temp; temp = x; x = y; y = temp; } System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" ); i++;break; case '×': { x = (int) (Math.random() * (10 - 1 )+ 1);//新生成x,y<9的随机数 y = (int) (Math.random() * (10 - 1 )+ 1); System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" ); i++; };break; case '÷': do //循环生成除法 { y = (int) (Math.random() * (10 - 1 )+ 1); x = (int) (Math.random() * (9*y - 1 )+ 1); } while(x % y != 0) ; System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" ); i++;break; } /* if(sign == '×') { x = (int) (Math.random() * (10 - 1 )+ 1);//新生成x,y<9的随机数 y = (int) (Math.random() * (10 - 1 )+ 1); System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" ); i++; }*/ /* * 加减法判断*/ /* if(sign == '+' || sign == '-') { if(x < y) //判断减数与被减数的大小关系 { int temp; temp = x; x = y; y = temp; } System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" ); i++; }*/ /* * 除法判断*/ /* if(sign == '÷') { do //循环生成除法 { y = (int) (Math.random() * (10 - 1 )+ 1); x = (int) (Math.random() * (9*y - 1 )+ 1); } while(x % y != 0) ; System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" ); i++; }*/ } while(i<30); } }
中间大段注释代码是另一种方法,是第一次写的,之后才换成的switch语句。
有新的代码,会持续更新……