2023.9.19 二年级四则运算在线答题
package Test2333; import java.util.Random; import java.util.Timer; import java.util.TimerTask; import java.util.Scanner; public class daily1 { //设置时长(秒) static int countDownTime=100; public static void main(String[] args){ Scanner sc=new Scanner(System.in); int a[]=new int[100]; int b[]=new int[100]; int result[]=new int[100]; int answer; int wrong=0; float root=0; int num=1;//题目数; Timer timer=new Timer(); TimerTask task=new TimerTask() { @Override public void run() { if(countDownTime!=0){ countDownTime--; } } }; timer.schedule(task,0,1000); do{ ti(num,result,a,b); num++; answer=sc.nextInt(); System.out.println("剩余时间:"+countDownTime); if(countDownTime==0)break; if(answer!=result[num-1]){ wrong++; System.out.println("正确答案是:"+result[num-1]); } } while(num<=30); if(num<=30){ for(int i=num;i<=30;i++){ ti(num,result,a,b); num++; wrong++; System.out.println("正确答案是:"+result[num-1]); } } root=(float)(30-wrong)/30; System.out.println("错题数:"+wrong); System.out.println("正确率:"+root*100+"%"); } //判断是否为负数 public static int fu(int a){ if(a<0) a=-1*a; if(a<10) a=a+10; return a; } //生成一个题目 public static void ti(int num,int result[],int a[],int b[]){ boolean check=false; Random r=new Random(); a[num]=r.nextInt()%100; b[num]=r.nextInt()%100; int m=r.nextInt()%9; a[num]=fu(a[num]); b[num]=fu(b[num]); if(m<0){ m=-1*m; } switch(m){ case 0: for(int i=0;i<num;i++){ if(a[i]==a[num]&&b[i]==b[num]) check=true; } if(!check){ System.out.println(num+"、"+a[num]+"+"+b[num]+"=");result[num]=a[num]+b[num];} num++; break; case 6: case 1: for(int i=0;i<num;i++){ if(a[i]==a[num]&&b[i]==b[num]) check=true; } if(a[num]<b[num]) check=true; if(!check){ System.out.println(num+"、"+a[num]+"-"+b[num]+"=");result[num]=a[num]-b[num]; num++;} break; case 4: case 2: for(int i=0;i<num;i++){ if(a[i]==a[num]&&b[i]==b[num]) check=true; } if(a[num]*b[num]>1000) check=true; if(!check){ System.out.println(num+"、"+a[num]+"*"+b[num]+"=");result[num]=a[num]*b[num]; num++;} break; case 8: case 7: case 5: case 3: for(int i=0;i<num;i++){ if(a[i]==a[num]&&b[i]==b[num]) check=true; } if(a[num]%b[num]!=0) check=true; if(!check){ System.out.println(num+"、"+a[num]+"/"+b[num]+"=");result[num]=a[num]/b[num]; num++;} break; } if(check){ ti(num,result,a,b); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?