JAVA课堂随机出题
一、设计思路
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课堂随机出题的更多相关文章
- 用java写随机出题
import java.io.*; //输入函数包 public class hello{ public static void main(String args[]){ String s=" ...
- Java实现随机出题,10道10以内加减法计算
package com.swift; import java.awt.Toolkit; import java.util.Scanner; public class PlusQuiz { public ...
- java课堂动手动脑及课后实验总结
动手动脑一:枚举 输出结果: false false true SMALL MEDIUM LARGE 分析和总结用法 枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本 ...
- java list随机打乱
java list随机打乱package arrlist; import java.util.ArrayList; import java.util.Collections; import java. ...
- java生成随机序列号
1.java生成随机序列号 String deleteUuid = UUID.randomUUID().toString(); 引用Jar包 //java-uuid-generator-3.1.3.j ...
- java生成随机字符串
学习java comparable特性时候,定义如下Student类,需要需要随机添加学生姓名以及学号和成绩,这是java如何随机生成名字,根据我的查询,我找到目前java库支持两种方法. 1. or ...
- Java课堂笔记(零):内容索引
回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...
- 20155237 第十一周java课堂程序
20155237 第十一周java课堂程序 内容一:后缀表达式 abcde/-f+ 内容二:实现Linux下dc的功能,计算后缀表达式的值 填充下列代码: import java.util.Scann ...
- 《随机出题软件》&《随机分队软件》源码(Windows API)
1 引言 1.1 编写目的: 为了对院级活动<最强大脑>提供软件支持,同时为了练习使用windows API. 1.2 项目背景: 来自计算机学院学生会信息部指派的任务,规定时间完成软件的 ...
随机推荐
- Flink的sink实战之四:自定义
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- C++ 基础 6:模板
1 函数模板 泛型(Generic Programming),即是指具有在多种数据类型上皆可操作的含意. 泛型编程 的代表作品 STL 是一种高效.泛型.可交互操作的软件组件. 泛型编程最初诞生于 C ...
- Linux Capabilities 入门教程:进阶实战篇
原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...
- Linux下git push、git pull等指令需要输入账号密码 - 免除设置
打开终端按顺序执行下面的指令: 1.cd ~ 2.touch .git-credentials 3.vim .git-credentials 然后在打开的文件里面输入 https://{usernam ...
- Docker UnicodeEncodeError: 'ascii' codec can't encode characters in position
在容器里查询nova服务的时候字符集报错问题留档及处理方法: 1.在容器里执行nova list --all 提示 [root@stack1 region_01]# nova list --all E ...
- MyBatis动态Sql之if标签的注意事项
if标签的test属性必填,该属性值是一个符合OGNL要求的判断表达式,一般只用true或false作为结果. 判断条件property != null 或 property == null,适用于任 ...
- 154. Find Minimum in Rotated Sorted Array II(循环数组查找)
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...
- rbd-mirror新功能
RBD 的 mirroring 功能将会在下一个稳定版本Jewel中实现,这个Jewel版本已经发布了第一个版本10.1.0,这个功能已经在这个发布的版本中实现了 一.基本原理 我们试图解决的或者至少 ...
- nginx的403权限问题
修改访问目录的权限为755 找到Nginx的配置文件nginx.conf,做如下改变: (1)将user nobody; 改为user root; (2)找到 autoindex off 更改为on ...
- windbg 分析cpu异常
1. !threadpool 查看当前CPU状况 线程数等等 2. !runaway 查看那几个线程使用的高 建议多抓几个dump 然后确定到底是哪个线程 3. ~线程IDs 跳转到那个 ...