当前位置: 首页 > news >正文

出题系统

又完善了一下,更好用了

代码如下:
class Nums
{
public double GetTrue(){return True;}
public double GetFalse() {return False;}
public int GetCurrent() {return Current;}
public int GetMAX() {return MAX;}

public void SetMAX(int MAX) 
{this.MAX=MAX;this.arr=new int[MAX][4];
}public void AddTrue() {True+=1;}
public void AddFalse() {False+=1;}
public void AddCurrent() {Current++;}public void CalculateAccuracy()
{System.out.println("正确率:"+(True/MAX*100)+"%");
}private double True=0;
private double False=0;
private int MAX=0;
private int Current=0;public int[][] arr;

}

class judge
{
//判断题目是否重复
public static boolean judge1(int num1,int num2,Nums n)
{
int flag=1;
for(int i=0;i<n.GetCurrent();i++)
{
if(n.arr[i][0]num1&&n.arr[i][1]num2)
{
flag=0;
}
}
if(flag==1)
return true;
else
{
return false;
}
}

//判断是否满足运算
public static boolean judge2(int num1,int num2,int sign,Nums n)
{if(sign==1){if(num1<num2)return false;}if(sign==2){if(num1*num2>=1000)return false;}if(sign==3){if(num2==0||num1%num2!=0)return false;}return true;
}//判断相邻运算是否相同
public static boolean judge3(int sign,Nums n)
{if(n.GetCurrent()==0)return true;if(sign==n.arr[n.GetCurrent()-1][2]){return false;}return true;
}public static boolean judge4(int sign,Nums n)
{if(n.GetCurrent()==0)return true;else if(n.GetCurrent()==1)if(n.arr[n.GetCurrent()-1][2]==sign)return false;else if(n.GetCurrent()==2)if(n.arr[n.GetCurrent()-1][2]==sign||n.arr[n.GetCurrent()-2][2]==sign)return false;else if(sign==n.arr[n.GetCurrent()-1][2]||sign==n.arr[n.GetCurrent()-2][2]||sign==n.arr[n.GetCurrent()-3][2])return false;return true;
}

}

public class 平常练习 {

static Nums n=new Nums();//出题系统//判断是否相等子方法
static void Equal(int num,int ans,Nums n)
{double f=0.000001;if(ans-num<f){n.AddTrue();System.out.println("回答正确");}else{System.out.println("回答错误,正确答案:"+ans);n.AddFalse();}
}//生成随机数并生成题目
static void CreateQuestion(Scanner sc)
{System.out.print("请输入您要生成的题目数量:");int MAX=sc.nextInt();n.SetMAX(MAX);while(n.GetCurrent()!=n.GetMAX()){Random ran=new Random();int num1=ran.nextInt(100);int num2=ran.nextInt(100);int sign=ran.nextInt(4);if(!judge.judge1(num1,num2,n)){continue;}if(!judge.judge2(num1,num2,sign,n)){continue;}if(!judge.judge3(sign,n)){continue;}if(!judge.judge4(sign, n)){continue;}//满足题目不重复,运算规则合法,相邻运算不重复,某一运算不能连续五次不出现之后,将数据赋值给数组n.arr[n.GetCurrent()][0]=num1;n.arr[n.GetCurrent()][1]=num2;n.arr[n.GetCurrent()][2]=sign;switch(sign){case 0:{System.out.print("第"+(n.GetCurrent()+1)+"道题目:"+num1+"+"+num2+"=");int num=sc.nextInt();Equal(num,num1+num2,n);break;}case 1:{System.out.print("第"+(n.GetCurrent()+1)+"道题目:"+num1+"-"+num2+"=");int num=sc.nextInt();Equal(num,num1-num2,n);break;}case 2:{System.out.print("第"+(n.GetCurrent()+1)+"道题目:"+num1+"*"+num2+"=");int num=sc.nextInt();Equal(num,num1*num2,n);break;}case 3:{System.out.print("第"+(n.GetCurrent()+1)+"道题目:"+num1+"/"+num2+"=");int num=sc.nextInt();Equal(num,num1/num2,n);break;}}n.AddCurrent();}n.CalculateAccuracy();
}public static void main(String[] args)
{Scanner sc=new Scanner(System.in);CreateQuestion(sc);
}

}

http://www.jsqmd.com/news/10146/

相关文章:

  • io控制方式
  • 【基础】 - ACPI是什么?
  • 我 是 人 机
  • 方法作业
  • 2025 汽车改装公司最新推荐榜:一站式服务生态企业盘点,含奔驰宝马新能源改装及新锐品牌权威测评重庆宝马汽车改装/重庆新能源汽车改装/重庆汽车改装贴膜/重庆汽车改装轮毂刹车公司推荐
  • 2025 布袋包装厂家最新推荐榜:自贸区实力厂商领衔,含手提袋、帆布袋等全品类,年销 500 万级生产商精选无纺布袋/布袋生产/云南布袋包装/茶叶布袋厂家推荐
  • 2025 年阳光导入源头厂家最新推荐榜:领军企业技术实力、案例与直销模式深度解析及选择指南工厂/学校/医院/地下车库/隧道阳光导入系统厂家推荐
  • 用低成本FPGA实现FSMC接口的多串口(UART)控制器
  • 2025 火烧板源头厂家最新推荐榜单:自有矿山保障品质,高硬度耐磨产品全覆盖,五莲花 / 芝麻白 / 防滑芝麻黑采购优选指南
  • 实用指南:Python数据可视化科技图表绘制系列教程(一)
  • Luogu P11660 我终将成为你的倒影 题解 [ 紫 ] [ 分块 ] [ 分类讨论 }
  • 2025 年最新推荐!小程序开发机构排行榜:覆盖定制开发 / 电商 / 预订 / 配送多场景优质服务商成都小程序开发/小程序定制开发/电商小程序开发/预订服务小程序开发公司推荐
  • CF280D k-Maximum Subsequence Sum 题解(线段树+反悔贪心维护k段最大子段和)
  • 2025年微信小程序开发:趋势、最佳实践与AI整合 - 指南
  • 深入解析:【LeetCode 热题100】回溯:括号生成 组合总和(力扣22 / 39 )(Go语言版)
  • 完整教程:基于 COM 的 XML 解析技术(MSXML) 的总结
  • 详细介绍:Windows如何定制键盘按键
  • TheHackersLabs Templo writeup
  • 深入解析:Oracle、PostgreSQL 与 MySQL 数据库对比分析与实践指南
  • PCIe扫盲——链路初始化与训练基础(三)之LTSSM
  • #attrs
  • 国庆比赛总结
  • 记录第一个博客
  • PCIe扫盲——链路初始化与训练基础(二)
  • 20251008J赛合订本
  • 2025 年氨基酸水溶肥厂家最新推荐榜单:聚焦花芽分化膨果上色需求,精选优质企业助农户科学选购花芽分化/膨果上色/促花稳果/低温酶解氨基酸水溶肥厂家推荐
  • VMware ESXi 8.0U3g macOS Unlocker OEM BIOS 2.7 H3C 新华三 定制版
  • 2025 年最新防火涂料厂家排行榜:钢结构各类防火涂料优质厂家最新推荐,助力建筑安全选型 钢结构/水性/隧道/环保/饰面型防火涂料厂家推荐
  • [计算机组成] 计算机字体文件及其运行原理
  • 后量子密码技术延迟随数据量增加而降低