系统要求:

1、自动出题,涉及加减乘除四则运算

2、运算为两位数之间

3、减法不能出现负数

4、乘法结果不超过100

5、除法必须整除

6、用户决定出题量

7、用户决定几道题一换行

8、题目不允许重复

 /**
* 班级:信1805-1
* 学号:20183566
* 姓名:董奥
* */
import java.util.Random;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
int [][] arr=new int[10000][3];//存储每个题目,避免重复
int [] temp01=new int [3];
Scanner in=new Scanner(System.in);
System.out.println("*******给小学生的自动出题系统******");
System.out.println("请输入题量:");
int m=in.nextInt();
System.out.println("请选择几题一换行:");
int n=in.nextInt();
int x=1,y=0,num1,num2,cmp;
boolean flag=false;//定义布尔类型变量用来记录是否重复
for (int i = 0; i < m; i++) {
flag=false;
Random r = new Random();//生成随机数
int temp;
num1 = r.nextInt(100)+1;
num2 = r.nextInt(100)+1;//生成两数1~100以内,避免除0情况
cmp=r.nextInt(4);//生成0~4,表示加减乘除
temp01[0]=num1;//用temp01数组存储随机生成的三个数据
temp01[1]=num2;
temp01[2]=cmp;
for(int j=0;j<y;j++) {//查重
if(arr[j]==temp01) {
flag=true;
break;
}
}
if(flag)//如果重复
continue;
else//如果不重复,则存入数组
{
arr[y][0]=num1;
arr[y][1]=num2;
arr[y][2]=cmp;
y++;
switch(cmp) {
case 0://加
System.out.print("第"+x+"个题目:"+num1+"+"+num2+"= ");
break;
case 1://减
if(num1<num2) {
temp=num1;
num1=num2;
num2=temp;
}
System.out.print("第"+x+"个题目:"+num1+"-"+num2+"= ");
break;
case 2://乘
if(num1<num2) {
temp=num1;
num1=num2;
num2=temp;
}
while(num1*num2>=100)
num1--;
System.out.print("第"+x+"个题目:"+num1+"*"+num2+"= ");
break;
case 3:
if(num1<num2) {
temp=num1;
num1=num2;
num2=temp;
}
while(num1%num2!=0)
num2--;
System.out.print("第"+x+"个题目:"+num1+"/"+num2+"= ");
break;
}
if(x%n==0)//换行
System.out.println();
x++;
}
}
}
}

Java设计给小学生的自动出题系统的更多相关文章

  1. 如何设计相对安全的cookie自动登录系统

    很多网站登录的时候,都会有一个"记住我"功能,用户可以在限定时间段内免登录, 比如豆瓣.人人.新浪微博等都有这种设计.这种技术其实就是基于 cookie的自动登录, 用户登录的时候 ...

  2. Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享

    Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享 说明:任何一个电商行业都涉及到退货与退款的问题,但是生鲜电商行业还设有一个显著的特点,那就是换货.在人性面前,各种各样的退货,退款,换货的售 ...

  3. Java生鲜电商平台-会员积分系统的设计与架构

    Java生鲜电商平台-会员积分系统的设计与架构 说明:互联网平台积分体系主要用于激励和回馈用户在平台的消费行为和活动行为,一个良好的积分体系可以很好的提升用户的粘性及活跃度. 一.互联网平台积分体系设 ...

  4. 自动升级系统OAUS的设计与实现(续) (附最新源码)

    (最新OAUS版本请参见:自动升级系统的设计与实现(续2) -- 增加断点续传功能) 一.缘起 自从 自动升级系统的设计与实现(源码) 发布以后,收到了很多使用者的反馈,其中最多的要求就是希望OAUS ...

  5. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  6. Java课程设计——博客作业教学数据分析系统(201521123091 李嘉廉)

    #课程设计--博客作业教学数据分析系统(201521123084 李嘉廉) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 數據分析 Kmeans聚類算法實現 多元綫性 ...

  7. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  8. Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)

    #Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...

  9. 3.结对编程成果报告(小学生四则运算的出题程序,Java实现)

    程序名称:小学生四则运算的出题程序 先附上代码: package com.makequestion; import java.text.DecimalFormat;import java.util.R ...

随机推荐

  1. mysql 查询奇偶数

    1.特殊字符处理 1.1 奇数 &1 select bi.file_type FILE_TYPE, bi.file_batchid FILE_BATCHID, bi.file_path FIL ...

  2. <label>标签的相关内容

    ㈠<label>标签的定义与用法 ⑴<label> 标签为 input 元素定义标注(标记). ⑵label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如 ...

  3. Jmeter(五)关联之正则表达式提取器

    我们在用Jmeter做接口或者性能测试时,经常会碰到第二个请求提交的的参数要从第一个请求返回的参数中获取,而这些参数值并不是固定的,是动态变化的,这种场景就要用到关联 Jmeter提供了一种叫做正则提 ...

  4. HDU2433—Travel (BFS,最短路)

    Travel Time Limit: 10000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  5. 如何在组件中监听vuex数据变化(当vuex中state变化时,子组件需要进行更新,怎么做?)

    todo https://blog.csdn.net/qq_37899792/article/details/97640434

  6. [洛谷P1501] [国家集训队]Tree II(LCT模板)

    传送门 这是一道LCT的板子题,说白了就是在LCT上支持线段树2的操作. 所以我只是来存一个板子,并不会讲什么(再说我也不会,只能误人子弟2333). 不过代码里的注释可以参考一下. Code #in ...

  7. C++入门经典-例5.18-通过引用交换数值

    1:在C++中,函数参数的传递方式主要有两种,即值传递和引用传递.值传递是指在函数调用时,将实际参数的值赋值一份传递到调用函数中,这样如果在调用函数中修改了参数的值,其改变将不会影响到实际参数的值.而 ...

  8. JDBC连接数据库遇到的“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。

    要从旧算法列表中删除3DES: 在JDK 8及更早版本中,编辑该 /lib/security/java.security文件并3DES_EDE_CBC从jdk.tls.legacyAlgorithms ...

  9. linux ./configure 的参数详解

    转载自http://blog.csdn.net/zjt289198457/article/details/6918656 linux ./configure 的参数详解   ./configure 该 ...

  10. 一、基础篇--1.2Java集合-ArrayList和Vector的区别

     ArrayList和Vector的区别 ArrayList和Vector都是基于动态数组实现的.  区别 ArrayList是非线程安全的,Vector是线程安全的. Vector的方法都加了同步锁 ...