一、设计思路

  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();
}
}
}

三、截图

JAVA课堂随机出题的更多相关文章

  1. 用java写随机出题

    import java.io.*; //输入函数包 public class hello{ public static void main(String args[]){ String s=" ...

  2. Java实现随机出题,10道10以内加减法计算

    package com.swift; import java.awt.Toolkit; import java.util.Scanner; public class PlusQuiz { public ...

  3. java课堂动手动脑及课后实验总结

      动手动脑一:枚举   输出结果: false false true SMALL MEDIUM LARGE 分析和总结用法 枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本 ...

  4. java list随机打乱

    java list随机打乱package arrlist; import java.util.ArrayList; import java.util.Collections; import java. ...

  5. java生成随机序列号

    1.java生成随机序列号 String deleteUuid = UUID.randomUUID().toString(); 引用Jar包 //java-uuid-generator-3.1.3.j ...

  6. java生成随机字符串

    学习java comparable特性时候,定义如下Student类,需要需要随机添加学生姓名以及学号和成绩,这是java如何随机生成名字,根据我的查询,我找到目前java库支持两种方法. 1. or ...

  7. Java课堂笔记(零):内容索引

    回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...

  8. 20155237 第十一周java课堂程序

    20155237 第十一周java课堂程序 内容一:后缀表达式 abcde/-f+ 内容二:实现Linux下dc的功能,计算后缀表达式的值 填充下列代码: import java.util.Scann ...

  9. 《随机出题软件》&《随机分队软件》源码(Windows API)

    1 引言 1.1 编写目的: 为了对院级活动<最强大脑>提供软件支持,同时为了练习使用windows API. 1.2 项目背景: 来自计算机学院学生会信息部指派的任务,规定时间完成软件的 ...

随机推荐

  1. Prometheus监控告警浅析

    前言 最近有个新项目需要搞一套完整的监控告警系统,我们使用了开源监控告警系统Prometheus:其功能强大,可以很方便对其进行扩展,并且可以安装和使用简单:本文首先介绍Prometheus的整个监控 ...

  2. 使用Graph API 操作OneDrive 文件 权限 共享

    (Get)列出默认驱动器下(获取items id) /me/drive/root/children 如果想找其他驱动器使用/Drives 列出后可以查看到驱动器下的文件,其中items id就是文件的 ...

  3. 处理request信息的ngx_http_process_request

    在处理完http的头部信息后  然后在 处理request-body信息ngx_http_process_request-------- -----------ngx_http_process_req ...

  4. ngx accept_mutex

    尝试获取锁,如果获取了锁,那么还要将当前监听端口全部注册到当前worker进程的epoll当中去  获取失败就需要确保此时ls-fd 没有被 epoll 监听 ngx_int_t ngx_tryloc ...

  5. linux中?*tee|\各类引号和-n-e\t\n

    1.通配符:?和*  ?   --匹配任意字符单次. *    --匹配任意字符任意次. [root@localhost test]# rm -fr *     2.管道符: |  将前面命令的结果传 ...

  6. metasploit数据库使用学习

    metasploit为了方便,自动将当前工作区的内容放入数据库 首先就是工作区 -a 增加工作区,-d删除工作区 不同工作区的内容会分开储存到数据库 default工作区 test工作区 db_imp ...

  7. windows下mysql的远程访问和权限设置

    如果想要用户root可以远程登录,则可通过修改user表中root用户对应的host字段值为"%"即可.我们用以下语句进行修改: update user set host = '% ...

  8. 面试官:小伙子,你给我说一下Java中什么情况会导致内存泄漏呢?

    概念 内存泄露:指程序中动态分配内存给一些临时对象,但对象不会被GC回收,它始终占用内存,被分配的对象可达但已无用.即无用对象持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间浪费. 可达 ...

  9. guitar pro系列教程(二十二):Guitar Pro在乐谱上的工作【二】

    我们在上一篇文章中给大家介绍了Guitar Pro的工作面板和音轨功能,今天我们将会给大家介绍Guitar Pro这款吉他谱学习软件得音频设置面板,在该面板中包含了声卡得选择.MIDI的输入输出及音轨 ...

  10. 从维基百科等网站复制数据和公式到MathType里编辑

    在我们写论文的时候,经常会需要用一些实际案例以及数据,而这些数据和案例有很大一部分可以直接在网络上找到.但是有时候也会发现我们想要的内容和公式,从网页上复制粘贴后太模糊,不适合打印和投影.就需要我们将 ...