出题系统(java版)

(1)思路:三个方法,生成一定数量的整数题,生成一定数量的分数题,功能目录。其中,利用一个数组,数组长度为题目数量+1,每次随机生成一道题与数组比较,用来避免题目重复。

(2)代码:

import java.util.Scanner;
public class test {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		int state = 0;
		while(state == 0)
		{
			mulu();
			int num = scanner.nextInt();
			if(num ==1)
			{
				System.out.println("输入题目数量");
				suan(scanner.nextInt());
			}
			if(num ==2)
			{
				System.out.println("输入题目数量");
				zsuan(scanner.nextInt());
			}
			if(num ==3)
			{
				state = 1;
				System.out.println("已退出!!");
			}
		}
	}

	public static void mulu()
	{
		System.out.println("************************");
		System.out.println("1.整数运算");
		System.out.println("2.真分数运算");
		System.out.println("3.退出");
		System.out.println("************************");
		System.out.println("请选择");
	}

	public static void suan(int num) {
		String[] str = new String[num+1];
		str[0]="";
		for(int i=1;i<=num;i++)
		{
			String ss="";
			int state = 0;
			int intVal3 = (int)(Math.random()*4+1);
			int intVal1 = 0;
			int intVal2 = 0;
			while(state == 0)
			{
				intVal1 = (int)(Math.random()*100+1);
				intVal2 = (int)(Math.random()*100+1);

				ss = intVal1+""+intVal2;

				for(int j=0;j<i;j++)
				{
					if(ss.equals(str[i-1]))
						state=0;
					else
					{
						state=1;
						str [i]=intVal1+""+intVal2;
					}
				}
			}

			System.out.print(i+" 、 ");
			if(intVal3==1){
				System.out.print(intVal1);
				System.out.print("  +  ");
				System.out.print(intVal2);
				System.out.print("= ?");
				System.out.println();
			}
			if(intVal3==2){
				System.out.print(intVal1);
				System.out.print("  -  ");
				System.out.print(intVal2);
				System.out.print("= ?");
				System.out.println();
				}
			if(intVal3==3){
				System.out.print(intVal1);
				System.out.print("  *  ");
				System.out.print(intVal2);
				System.out.print("= ?");
				System.out.println();
				}
			if(intVal3==4){
				System.out.print(intVal1);
				System.out.print("  ÷  ");
				System.out.print(intVal2);
				System.out.print("= ?");
				System.out.println();
				}
		}
	}

	public static void zsuan(int num)
	{
		String[] st = new String[num+1];
		st[0]="";
		for(int i=1;i<=num;i++)
		{
			int num1 = 0;
			int num2 = 0;
			int num3 = 0;
			int num4 = 0;

			String ss="";
			String ss1="";
			String ss2="";
			int state = 0;
			int intVal3 = (int)(Math.random()*4+1);
			while(state == 0)
			{

				while(num1==num2)
				{
					num1 = (int)(Math.random()*100+1);num2 = (int)(Math.random()*100+1);

					if(num1<num2)
					{
						ss1=num1+"/"+num2;
					}
					else
					{
						ss1=num2+"/"+num1;
					}
				}

				while(num3==num4)
				{
					num3 = (int)(Math.random()*100+1);num4 = (int)(Math.random()*100+1);
					if(num3<num4)
					{
						ss2=num3+"/"+num4;
					}
					else
					{
						ss2=num4+"/"+num3;
					}
				}

				ss =ss1+ss2;
				for(int j=0;j<i;j++)
				{
					if(ss.equals(st[i-1]))
						state=0;
					else
					{
						state=1;
						st [i]=ss1+ss2;
					}
				}
			}

			System.out.print(i+" 、 ");
			if(intVal3==1){
				System.out.print(ss1);
				System.out.print("  +  ");
				System.out.print(ss2);
				System.out.print("= ?");
				System.out.println();
			}
			if(intVal3==2){
				System.out.print(ss1);
				System.out.print("  -  ");
				System.out.print(ss2);
				System.out.print("= ?");
				System.out.println();
				}
			if(intVal3==3){
				System.out.print(ss1);
				System.out.print("  *  ");
				System.out.print(ss2);
				System.out.print("= ?");
				System.out.println();
				}
			if(intVal3==4){
				System.out.print(ss1);
				System.out.print("  ÷  ");
				System.out.print(ss2);
				System.out.print("= ?");
				System.out.println();
			}
		}
	}
}

  (3)结果:

时间: 2024-12-16 15:36:51

出题系统(java版)的相关文章

关于时间的操作(Java版)——获取给定时间与当前系统时间的差值(以毫秒为单位)

import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class Test { /** * 获取给定时间与当前系统时间的差值(以毫秒为单位) * * @author GaoHuanjie */ public long getTimeDifferenceBetweenSystemTimeAndParamTime(String paramTime) { DateFor

关于时间的操作(Java版)——获取距离系统时间N天后的日期时间信息

import java.util.Calendar; import java.util.TimeZone; public class Test { /** * 获取距离系统时间N天后的日期时间信息 * * @author GaoHuanjie */ public String getDateAfterNdays(int days){ Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); cale

一个超漂亮的Java版博客系统,内置14套皮肤,已经转化为标准的Eclipse项目,直接导入即可

原文:一个超漂亮的Java版博客系统,内置14套皮肤,已经转化为标准的Eclipse项目,直接导入即可 源代码下载地址:http://www.zuidaima.com/share/1550463745002496.htm MrZhao只分享精品,话不多说,直接上图      - 为了压缩文件我把WEB-INF下面的lib包打包放在网盘下载地址:http://pan.baidu.com/s/1hqqqWOc - 把lib解压进去以后项目直接导入Eclise即可运行 - 数据库Mysql,确保一个新

AKKA文档(java版)

目前我正在翻译AKKA官网文档.翻译:吴京润 译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译.更多内容请读这里:https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/lists/ded96c34f7ce4a6bb8b5473f596e1008/show/https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/todos/640e53d

应用程序初次运行数据库配置小程序(Java版)

应用程序初始化数据库配置小程序 之前写过一个Java版的信息管理系统,但部署系统的时候还需要手动的去配置数据库和导入一些初始化的数据才能让系统运行起来,所以我在想是不是可以写一个小程序在系统初次运行的时候自动部署数据库和导入一些初始化数据.然后就有了以下的思路: 在应用程序入口处判断数据库是否已经配置完成,若配置完成则进入正常的登录系统完成正常操作即可,若未配置则进入数据库配置的小程序完成数据库配置然后再进入系统,但如何来判断是否已经配置完成呢,在这里我用的是比较原始的方法,配置数据库的时候系统

微信公众平台深度开发JAVA版第二季视频教程

微信公众平台深度开发JAVA版第二季(九宝饭店微信点餐系统)视频教程下载密码:qa4a     联系QQ:1026270010 微信作为当前流行的通信社交软件有了上亿的用户量,几乎每一个只能手机都要安装微信.但是,市场上对于JAVA开发微信公众平台的资料却少之又少,多数的资料一般是其他语言的.因此,主讲老师经过潜心研究.认真准备,录制了这套针对JAVA开发语言的微信公众平台开发教程. 1.课程研发环境 开发语言:JAVA WEBServer:TOMAT DATABASE:MySQL 开发工具:m

微信公众平台深度开发JAVA版

课程讲师:翟东平 课程分类:Java 适合人群:高级 课时数量:18(30小节)课时 用到技术:微信公众平台,微信,java涉及项目:九宝饭店微信点餐系统 咨询QQ:1609173918 下载链接:http://pan.baidu.com/s/1dDB4ax7 密码:ebaw 1.课程研发环境 开发语言:JAVA WEBServer:TOMAT DATABASE:MySQL 开发工具:myeclipse.MySQL-Front等 其他:在手机应用中的CSS3+div布局.DWR.mybatis.

PetaPojo —— JAVA版的PetaPoco

背景 由于工作的一些原因,需要从C#转成JAVA.之前PetaPoco用得真是非常舒服,在学习JAVA的过程中熟悉了一下JAVA的数据组件: MyBatis 非常流行,代码生成也很成熟,性能也很好.但是DEBUG的时候不方便,且XML写SQL也不是很适应,尤其是团队比较小没有专职DBA的情况下. Hibernate 使用过NHibernate,做企业应用倒是挺适合的.掌握并用好它不是一件很容易的事情,尤其是团队水平不够,目标项目为互联网游戏平台的时候. sql2o 开源项目,轻量级的ORM,与D

JCEF3——谷歌浏览器内核Java版实现(一):使用jawt获取窗体句柄

前言 最近一段时间研究谷歌浏览器内核.谷歌浏览器内核一直开源,并维护更新,它的开源项目中内核更新速度和Chrome浏览器版本更新进度一样!而且它不同于WebKit(值得一题的是谷歌浏览器已不使用WebKit内核了),它提供的不仅仅是页面渲染,而是提供一整浏览器解决方案和插件规则. 使用方便:我们给它一个“窗体”(操作系统或系统资源管理器中的本地窗体,本系列都使用Win32平台作为示例)和一些配置参数,它就能将你需要渲染的页面在给定窗口中完美地展示. 插件支持:Adobe和Google联合开发的p

【养孩子这么贵,还是生一个算了吧】设计模式之单例模式Java版

定义 单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点.所以在需要保证让一个类只有一个实例时,可以参考采用单例模式.通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象.唯一的办法就是,让类自身负责保存它的唯一实例.这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法. 方法一 其一,不让其他类去实例化自己类的实例,那我们很容易想到可以通过定义一个private的构造函数.这是因为如果我们自定义了一个private的构造函数,那么系统默认的