首页 > 其他分享 >课堂测验(9.18)

课堂测验(9.18)

时间:2023-09-18 22:14:03浏览次数:45  
标签:9.18 int System 测验 a1 a3 a2 println 课堂

出30道二年级四则运算题目

减法不能有负数,不能有重复题目,乘法结果小于四位数,除法是整除,能计时,能判断结果正确与否,能给出正确结果,正确率,错题数目

首先一个记录时间的类

package homework;

public class time extends Thread{
private int seconds;//秒
//计时方法
@Override
public void run() {
for (;;){
for(seconds=0;;seconds++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

//获取小时
//获取秒
public int getSeconds() {
return seconds;
}
}
接着一个信息类
package homework;

public class text918i {
private int a1;
private int a2;
private int a3;

public text918i() {
}

public text918i(int a1, int a2, int a3) {
this.a1 = a1;
this.a2 = a2;
this.a3 = a3;
}

public int getA1() {
return a1;
}

public void setA1(int a1) {
this.a1 = a1;
}

public int getA2() {
return a2;
}

public void setA2(int a2) {
this.a2 = a2;
}

public int getA3() {
return a3;
}

public void setA3(int a3) {
this.a3 = a3;
}
}
最重要的部分
package homework;

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class text918 {
public static void main(String[] args) {
ArrayList<text918i> list = new ArrayList<>();
text918i t = new text918i();
time th=new time();
Scanner sc = new Scanner(System.in);
int num2 = 0;//计正确数
int num3 = 0;//计错误数
int num4 = 1;
System.out.println("设定做题时间");
int timei=sc.nextInt();
th.start();
loop1:do {
loop2:do {
Random r = new Random();
int a1 = r.nextInt(3);//符号
int a2 = r.nextInt(99);//第一个数
int a3 = r.nextInt(99);//第二个数
switch (a1) {
case 0://加法
int result0 = a2 + a3;
System.out.println(a2 + "+" + a3 + "=");
int res0 = sc.nextInt();
boolean flag00 = judge4(result0, res0);
if (flag00 == true) {
num2++;
System.out.println("回答正确");
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
} else {
num3++;
System.out.println("回答错误");
System.out.println("正确答案为:" + result0);
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
}
case 1://减法
boolean flag1 = judge1(a2, a3);
if (flag1 == true) {
int result1 = a2 - a3;
System.out.println(a2 + "-" + a3 + "=");
int res1 = sc.nextInt();
boolean flag11 = judge4(result1, res1);
if (flag11 == true) {
num2++;
System.out.println("回答正确");
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
} else {
num3++;
System.out.println("回答错误");
System.out.println("正确答案为:" + result1);
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
}
}
case 2://乘法
boolean flag2 = judge2(a2, a3);
if (flag2 == true) {
int result2 = a2 * a3;
System.out.println(a2 + "*" + a3 + "=");
int res2 = sc.nextInt();
boolean flag22 = judge4(result2, res2);
if (flag22 == true) {
num2++;
System.out.println("回答正确");
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
} else {
num3++;
System.out.println("回答错误");
System.out.println("正确答案为:" + result2);
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
}
}
case 3://除法
boolean flag3 = judge3(a2, a3);
if (flag3 == true) {
int result3 = a2 * a3;
System.out.println(a2 + "*" + a3 + "=");
int res3 = sc.nextInt();
boolean flag33 = judge4(result3, res3);
if (flag33 == true) {
num2++;
System.out.println("回答正确");
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
} else {
num3++;
System.out.println("回答错误");
System.out.println("正确答案为:" + result3);
num4++;
judge6(list,a1,a2,a3);
t.setA1(a1);
t.setA2(a2);
t.setA3(a3);
break;
}

}
}
th.getSeconds();
if(th.getSeconds()>=timei){
System.out.println("时间到");
break loop1;
}
} while (th.getSeconds()<timei&&num4 <= 30);
} while (num4 <= 30);
judge5(num2, num3);
}

//判断减法结果正负
public static boolean judge1(int x, int y) {
int z = x - y;
if (z < 0) {
return false;
} else {
return true;
}
}

//判断乘法结果大小
public static boolean judge2(int x, int y) {
int z = x * y;
if (z > 999) {
return false;
} else {
return true;
}
}

//判断是否整除
public static boolean judge3(int x, int y) {
int z = x % y;
if (z != 0) {
return false;
} else {
return true;
}
}

//判断作答正确与否
public static boolean judge4(int x, int y) {
if (x == y) {
return true;
} else {
return false;
}
}

//计算正确率
public static void judge5(int x, int y) {
double rate;
rate = x / 30;
System.out.println("正确率为:" + rate);
System.out.println("错题数为:" + y);
}

//判断是否重复
public static boolean judge6(ArrayList<text918i> list,int a1,int a2,int a3){
for (int i = 0; i < list.size(); i++){
text918i tex = list.get(i);
int x=tex.getA1();
int y=tex.getA2();
int z=tex.getA3();
if(x==a1&&y==a2&&z==a3){
if(a2+a3>=99){
a3=a3+a1;
}
else{
a3=a2+a3;
}
}
}
return true;
}
}

标签:9.18,int,System,测验,a1,a3,a2,println,课堂
From: https://www.cnblogs.com/HD-Kudu-2219/p/17713203.html

相关文章

  • 9.18r
    Pythonrequest_id传递除中间件的方式还可以采用本地线程实现;专业名词记忆得加强。描述符协议(get.set.delete魔术方法);Notimplemented。二元运算中可能会用到;MySQL大数据的优化。orm可能面临的一些弊端(映射。性能。独立性等方面不足。大数据量还是建议原生sql)分库分表(目......
  • 2023.9.18
    通过java的自带类写出了登录系统的框架,其中SWing类其中包含了设置框,设置字体以及颜色,还可以设置绝对位置。packagedenglujiemian;importjavax.swing.*;importjava.awt.*;importjava.util.ArrayList;importjava.util.Random;publicclassdenglu{publicstaticvoidma......
  • 9.18随笔
    用c++实现一个程序:任意生成30道两位数四则运算题目,要求:减法输出结果不可以出现负数,除法输出结果不能有小数,乘法输出结果位数不可超过999.代码实现#include<iostream>#include<cstdlib>#include<ctime>usingnamespacestd;intgenerateNumber(intmin,intmax){retur......
  • 9.18每日总结
    今日学习C#基本语法,感觉和java类似,准备团队任务学习软考,开始复习数据结构加法规则:多项相加,保留最高阶段,并将系数化为1乘法规则:多项相乘都保留,并将系数化为1加法乘法混合规则:先小括号在乘法规则最后加法规则递归的时间和空间复杂度递归主方法T(n)=aT(n/b)+f(n)线性表,......
  • 9.18总结
    今天上午工程实训课,看了许多传统和现代的机器,还用激光雕刻了一个小物件 下午上课,进行测试......
  • 每日总结9.18
    今天上午没有课,我在宿舍里泡了紫薯粥,加了椰奶以后变得很好喝。收拾好了之后我开始坐在床上学习java,看了yxc的课,他的讲义也对我很有帮助,让我明白了之前课前测试里的很多当时我不懂的东西,也更加熟悉地掌握了。下午去上了建民老师的课,今天学了方法,又学到了一些以前我搞不太清楚的东......
  • 9.18记
    今天又是有Java课的一天,王建民老师给我们讲了Java的方法,还布置了课堂测试,在上次四则运算的基础上增加了三个功能(1)要求题目避免重复,减法不允许出现负数,乘法结果不允许出现四位数,除法必须整除不允许出现小数;(2)实现在线实时答题,并在答题结束后,统计显示错题数,正确率;(3)增加倒计时功......
  • 9.18
    上午参加工程实训课,自己动手打造了一个镀锌铁盒,同时熟悉了各种工具的使用。下午实现二位数加减乘除的程序,同时实现各种要求。importjava.util.Random;importjava.util.Scanner;publicclasscheng{publicstaticbooleancontains(intnum1,intnum2,intnum3,i......
  • 23.9.18
    程序员修炼之道从小工到专家  读书笔记第一节:我的源码让猫给吃了。1、开发过程中出现未曾预料的技术问题,交付晚了等情况,没关系,这些是无法避免的。发生了,我们就要尽可能想方设法地职业的去处理它们。程序员这个职业需要诚实和坦率,要敢于承认自己的错误。2、要对担负的东西负......
  • 9.18日课堂上java练习
    1importjava.util.ArrayList;2importjava.util.Random;3importjava.util.Scanner;4importjava.util.ArrayList;5importjava.util.Random;6importjava.util.Scanner;78publicclassCountdownThreadextendsThread{9privatest......