小学生四则运算出题系统1.0与2.0
思路:根据输出格式,可以定义三个随机数a、b和c。 //a控制前一个数,b控制加减乘除,c控制后一个数。根据题目要求固定输出30 道题。设置一个for循环进行控制题目的数量。
然后分别处理加、减、乘和除。注意限定条件。使用do while循环与if循环的嵌套来实现,最后输出:
代码如下:
package sizeyunsuan;
import java.util.Random;
import java.util.Scanner;
public class Sizeyunsuan
{
public static void main(String[]args)
{
然后分别处理加、减、乘和除。注意限定条件。使用do while循环与if循环的嵌套来实现,最后输出:
代码如下:
package sizeyunsuan;
import java.util.Random;
import java.util.Scanner;
public class Sizeyunsuan
{
public static void main(String[]args)
{
//a控制前一个数,b控制加减乘除,c控制后一个数。
int a=(int)(Math.random()*100);
int b=(int)(Math.random()*4);
int c=(int)(Math.random()*100);
for(int i=1;i<=30;i++)
{
b=(int)(Math.random()*4);//产生[0,4)的随机数,用此来控制加减乘除,0代表加,依次类推。
if(b==0)//实现两数相加不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a+c<100)
{
System.out.println("第"+i+"道题:"+a+"+"+c+"=");
break;
}
}while(a>=0);
}
if(b==1)//实现两数相减大于0
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a>c)
{
System.out.println("第"+i+"道题:"+a+"-"+c+"=");
break;
}
}while(a>=0);
}
if(b==2)//实现两数相乘不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a*c<100)
{
System.out.println("第"+i+"道题:"+a+"*"+c+"=");
break;
}
}while(a>=0);
}
if(b==3)//解决整除问题
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(c!=0&&a%c==0)
{
System.out.println("第"+i+"道题:"+a+"/"+c+"=");
break;
}
}while(a>=0);
}
}
}
int a=(int)(Math.random()*100);
int b=(int)(Math.random()*4);
int c=(int)(Math.random()*100);
for(int i=1;i<=30;i++)
{
b=(int)(Math.random()*4);//产生[0,4)的随机数,用此来控制加减乘除,0代表加,依次类推。
if(b==0)//实现两数相加不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a+c<100)
{
System.out.println("第"+i+"道题:"+a+"+"+c+"=");
break;
}
}while(a>=0);
}
if(b==1)//实现两数相减大于0
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a>c)
{
System.out.println("第"+i+"道题:"+a+"-"+c+"=");
break;
}
}while(a>=0);
}
if(b==2)//实现两数相乘不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a*c<100)
{
System.out.println("第"+i+"道题:"+a+"*"+c+"=");
break;
}
}while(a>=0);
}
if(b==3)//解决整除问题
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(c!=0&&a%c==0)
{
System.out.println("第"+i+"道题:"+a+"/"+c+"=");
break;
}
}while(a>=0);
}
}
}
}
小学生小学生四则运算出题系统2.0
要求:
1.能满足小学生四则运算出题系统1.0。
2.能自由控制题目的数量。
3.能够控制输出形式(控制几个一排输出)。
思路:首先在小学生四则运算出题系统1.0的基础上先解决小学生四则运算出题系统2.0的简单要求。使用Scanner函数来输入j和k。j来控制题目的个数。k来控制一行几个。题目数目就更改一下for循环结构。
一行几个改变输出,在输出处嵌套一个for循环,来控制几个一换行。
package sizeyunsuan;
import java.util.Random;
import java.util.Scanner;
public class Sizeyunsuan
{
public static void main(String[]args)
{
import java.util.Random;
import java.util.Scanner;
public class Sizeyunsuan
{
public static void main(String[]args)
{
//a控制前一个数,b控制加减乘除,c控制后一个数。
int a=(int)(Math.random()*100);
int b=(int)(Math.random()*4);
int c=(int)(Math.random()*100);
System.out.println("请输入您想要多少道题");
Scanner in=new Scanner(System.in);
int j;
j=in.nextInt();
System.out.println("请输入您想几个一排:");
int k;
k=in.nextInt();
for(int i=1;i<=j;i++)
{
b=(int)(Math.random()*4);//产生[0,4)的随机数,用此来控制加减乘除,0代表加,依次类推。
if(b==0)//实现两数相加不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a+c<100)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"+"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"+"+c+"="+" ");
break;
}
}
}while(a>=0);
}
if(b==1)//实现两数相减大于0
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a>c)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"-"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"-"+c+"="+" ");
break;
}
}
}while(a>=0);
}
if(b==2)//实现两数相乘不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a*c<100)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"*"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"*"+c+"="+" ");
break;
}
}
}while(a>=0);
}
if(b==3)//解决整除问题
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(c!=0&&a%c==0)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"/"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"/"+c+"="+" ");
break;
}
}
}while(a>=0);
}
}
}
int a=(int)(Math.random()*100);
int b=(int)(Math.random()*4);
int c=(int)(Math.random()*100);
System.out.println("请输入您想要多少道题");
Scanner in=new Scanner(System.in);
int j;
j=in.nextInt();
System.out.println("请输入您想几个一排:");
int k;
k=in.nextInt();
for(int i=1;i<=j;i++)
{
b=(int)(Math.random()*4);//产生[0,4)的随机数,用此来控制加减乘除,0代表加,依次类推。
if(b==0)//实现两数相加不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a+c<100)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"+"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"+"+c+"="+" ");
break;
}
}
}while(a>=0);
}
if(b==1)//实现两数相减大于0
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a>c)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"-"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"-"+c+"="+" ");
break;
}
}
}while(a>=0);
}
if(b==2)//实现两数相乘不超过100
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(a*c<100)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"*"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"*"+c+"="+" ");
break;
}
}
}while(a>=0);
}
if(b==3)//解决整除问题
{
do
{
a=(int)(Math.random()*100);
c=(int)(Math.random()*100);
if(c!=0&&a%c==0)
{
if(i%k==0)
{
System.out.println("第"+i+"道题:"+a+"/"+c+"="+" ");
break;
}
else
{
System.out.print("第"+i+"道题:"+a+"/"+c+"="+" ");
break;
}
}
}while(a>=0);
}
}
}
}
教训:
1.break的重要性
2.do while语句循环条件是反的 注意!!!