一、设计思路

  1、利用随机数来确定两个数字。

  2、生成0-4的随机数,分别代表 加 减 乘 除。

  3、输入的题数利用for循环来出题,每行输出几道题便在循环中加入if语句,当前出题数与每行输出题数求余为0时,换行。

  4、利用三个数组存信息,分别存出过的题的两个数字和运算符号。

  5、循环开始后,先随机数生成两个数字和运算符号,然后再与数组中的信息进行比对,如果是三个信息都不相等的话进行下一步操作,否则再次生成三个信息。

  6、输出相应的信息,每隔相应数量个式子便换行。

二、源代码

package 课堂;
import java.math.*;
import java.util.*;
public class ceshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum=scanner.nextInt();
int hang=scanner.nextInt();
int[] a= new int[sum];
int[] b= new int[sum];
int[] c= new int[sum];
for(int i=0;i<sum;i++)
{
int x = (int)(Math.random()*99+1);
int y = (int)(Math.random()*99+1);
int choose=(int)(Math.random()*4);
if(choose==1||choose==3)
{
while(x<y)
{
x = (int)(Math.random()*99+1);
y = (int)(Math.random()*99+1);
}
}
if(choose==2)
{ while(x*y>100)
{
x = (int)(Math.random()*99+1);
y = (int)(Math.random()*99+1);
}
}
if(choose==3)
{
while(x%y!=0)
{
x = (int)(Math.random()*99+1);
y = (int)(Math.random()*99+1);
}
}
boolean pd=true;
if(i!=0) {
while(pd) {
for(int cha=0;cha<i;cha++)
{
if(x!=a[i]&&y!=b[i]&&choose!=c[i])
{
pd=false;
break;
}
}
x = (int)(Math.random()*99+1);
y = (int)(Math.random()*99+1);
choose=(int)(Math.random()*4);
if(choose==1||choose==3)
{
while(x<y)
{
x = (int)(Math.random()*99+1);
y = (int)(Math.random()*99+1);
}
}
if(choose==2)
{ while(x*y>100)
{
x = (int)(Math.random()*99+1);
y = (int)(Math.random()*99+1);
}
}
if(choose==3)
{
while(x%y!=0)
{
x = (int)(Math.random()*99+1);
y = (int)(Math.random()*99+1);
}
}
}
}
a[i]=x;
b[i]=y;
c[i]=choose;
if(choose==0)
{
System.out.print((i+1)+"题为:"+x+"+"+y+"= ");
}
if(choose==1)
{
System.out.print((i+1)+"题为:"+x+"-"+y+"= ");
}
if(choose==2)
{
System.out.print((i+1)+"题为:"+x+"*"+y+"= ");
}
if(choose==3)
{
System.out.print((i+1)+"题为:"+x+"/"+y+"= ");
}
if((i+1)%hang==0)
System.out.println();
}
}
}

三、截图

最新文章

  1. CSS系列:CSS的继承与层叠特性
  2. 守护神 Supervisor
  3. 谷歌黑科技WaveNet,更先进的语音合成
  4. leetcode-【简单题】Two Sum
  5. Web应用程序系统的多用户权限控制设计及实现-首页模块【5】
  6. AngularJS开发指南5:AngularJS表达式详解
  7. [Java] 日期的简单处理
  8. im消息丢失插件
  9. record
  10. Zimbra8.x邮件服务器安装及配置
  11. Yii2 分页类的扩展和listview引用
  12. python os模块常用方法
  13. 关掉那些windows上因权限无法关闭的服务
  14. Python——组图Canvas控制参数
  15. Java的赋值、浅克隆和深度克隆的区别
  16. 《objective-c基础教程》学习笔记(四)—— OC面向对象编程初探
  17. 变量part2
  18. MySql中循环的使用
  19. 使用ABP框架踩过的坑系列3
  20. float和double

热门文章

  1. Ques1,debug模式打不开的原因
  2. SpringBoot整合JWT实战详解
  3. martini-新分子的参数化
  4. linux命令查看日志
  5. shell中if/seq/for/while/until
  6. 使用 ffmpeg 命令直播推流
  7. CSS opacity设置不透明度
  8. dpkg 批量卸载
  9. CVE-2020-3452 CISCO ASA远程任意文件读取漏洞
  10. 如何用Vegas完成视频编辑中的自动跟踪换图