一、设计思路

  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. 使用pipenv管理python虚拟环境

    前言 近期的项目中,我开始尝试着从virtualenv管理python虚拟环境,切换到用pipenv来管理. 经过一段时间的使用,着实觉得pipenv使用的更加顺手,更加的便捷.这当然也延续了 Ken ...

  2. Windows自带MD5 SHA1 SHA256命令行工具

    感恩大佬LiuYanYGZ的文章 MyHash 检验工具http://www.zdfans.com/html/4346.html HashMyFiles Hash校验工具http://www.nirs ...

  3. map,filter

    def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [i for i in range(0,5)]) print(list(newlis ...

  4. javascript中什么是函数

    函数的定义 在javascript中函数是一段可以被执行或调用任意次数的JavasScript代码,在数据类型中属于"function".函数也拥有属性和方法,因此函数也是对象. ...

  5. tcpack--3快速确认模式

    接收到数据报后,会调用tcp_event_data_recv(),不管是在慢速路径的tcp_data_queue中调用还是 在快速路径中处理接收数据后直接调用,注意(如果len <= tcp_h ...

  6. python-redmine获取redmine平台的信息

    前言 最近做redmine的bug平台的分析,统计一些需要用到的数据,这里把相关调用的地方记录下来以备后用 相关的获取接口 #! /usr/bin/python # -*- coding:UTF-8 ...

  7. Angular变更检测策略报错

    报错信息: ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was ...

  8. [USACO14JAN]Ski Course Rating G

    题目链接:https://www.luogu.com.cn/problem/P3101 Slove 这题我们可以尝试建立一个图. 以相邻的两个点建边,边的权值为两个点高度差的绝对值,然后把边按照边权值 ...

  9. 精尽 MyBatis 源码分析 - 基础支持层

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  10. php递归无限查询上级或者下级

    $this->get_array($user['uid'],1); function get_array($user_id,$top=0){ $sql = 'SELECT * FROM ' . ...