JAVA课堂随机出题
2024-09-03 02:45:04
一、设计思路
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();
}
}
}
三、截图
最新文章
- CSS系列:CSS的继承与层叠特性
- 守护神 Supervisor
- 谷歌黑科技WaveNet,更先进的语音合成
- leetcode-【简单题】Two Sum
- Web应用程序系统的多用户权限控制设计及实现-首页模块【5】
- AngularJS开发指南5:AngularJS表达式详解
- [Java] 日期的简单处理
- im消息丢失插件
- record
- Zimbra8.x邮件服务器安装及配置
- Yii2 分页类的扩展和listview引用
- python os模块常用方法
- 关掉那些windows上因权限无法关闭的服务
- Python——组图Canvas控制参数
- Java的赋值、浅克隆和深度克隆的区别
- 《objective-c基础教程》学习笔记(四)—— OC面向对象编程初探
- 变量part2
- MySql中循环的使用
- 使用ABP框架踩过的坑系列3
- float和double