要求:(1)实现100以内加减乘除可以选择练习、可以退出练习系统
(2)答错给出正确答案、最后统计答题情况(答题数、正确率等)
思路:
用最简单的思路,判断学生想要练习哪一个运算(加减乘除),然后生成随机数,输出来,让学生输入答案,判断与指定答案是否相等即可;
完整代码放在最后!!!完整代码放在最后!!!完整代码放在最后!!!
可能不够完善有bug 大家可以根据需求修改!!
分解代码:
(1)启动界面:
import java.util.Random;
import java.util.Scanner;
public class lx {
public static void main(String[]args) {
//启动界面
System.out.println("--------------------------------");
System.out.println("作者:XXX 学号:P20210304XXX");
// System.out.println("-----------------------------");
System.out.println("欢迎使用小学生数学练习系统v2.0");
System.out.println("--------------------------------");
System.out.println("按1进入练习系统,按0退出练习系统");
System.out.println("--------------------------------");
(2)生成1-100的随机数
//输入0或1
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int dui = 0;
int SUM = 0;
do {
//判断输入是否为0或1
if(num==0||num==1||num==2||num==3||num==4) {
if(num==1) {
int a = 1;
int b = 0;
if(a<=100) {
int x = (int)(Math.random()*101);
int y = (int)(Math.random()*101);
int z = (int)(Math.random()*4);
int jiafa=x+y;
int jianfa=x-y;
int chengfa=x*y;
int chufa=x/y;
int i = 0;
(3)加法运算
if(z == 0) {
System.out.println(x+"+"+y+"="+"?");
int answer = in.nextInt();
if(answer==jiafa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+jiafa);
System.out.println("-----------------------------");
}
}
(4)减法运算
if(z == 1) {
System.out.println(x+"-"+y+"="+"?");
int answer = in.nextInt();
if(answer==jianfa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+jianfa);
System.out.println("-----------------------------");
}
}
(5)乘法运算
if(z == 2) {
System.out.println(x+"×"+y+"="+"?");
int answer = in.nextInt();
if(answer==chengfa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+chengfa);
System.out.println("-----------------------------");
}
}
(6)除法运算
if(z == 3) {
System.out.println(x+"÷"+y+"="+"?");
int answer = in.nextInt();
if(answer==chufa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+chufa);
System.out.println("-----------------------------");
}
}
System.out.println("请按1继续练习,按0退出练习");
num = in.nextInt();
SUM ++;
if(num == 0 ) {
break;
}
}
}
}while(num==1);
(7)退出系统输出答题情况
double adv = (double)(dui/SUM)*100;
System.out.println("-----------------------------");
System.out.println("你本次一共练习了"+SUM+"题");
System.out.println("答对了"+dui+"题");
System.out.println("准确率为"+adv+"%");
}
}
完整代码:
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[]args) {
//启动界面
System.out.println("--------------------------------");
System.out.println("作者:XXX 学号:P20210304XXX");
// System.out.println("-----------------------------");
System.out.println("欢迎使用小学生数学练习系统v2.0");
System.out.println("--------------------------------");
System.out.println("按1进入练习系统,按0退出练习系统");
System.out.println("--------------------------------");
//输入0或1
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int dui = 0;
int SUM = 0;
do {
//判断输入是否为0或1
if(num==0||num==1||num==2||num==3||num==4) {
if(num==1) {
int a = 1;
int b = 0;
if(a<=100) {
int x = (int)(Math.random()*101);
int y = (int)(Math.random()*101);
int z = (int)(Math.random()*4);
int jiafa=x+y;
int jianfa=x-y;
int chengfa=x*y;
int chufa=x/y;
int i = 0;
if(z == 0) {
System.out.println(x+"+"+y+"="+"?");
int answer = in.nextInt();
if(answer==jiafa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+jiafa);
System.out.println("-----------------------------");
}
}
if(z == 1) {
System.out.println(x+"-"+y+"="+"?");
int answer = in.nextInt();
if(answer==jianfa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+jianfa);
System.out.println("-----------------------------");
}
}
if(z == 2) {
System.out.println(x+"×"+y+"="+"?");
int answer = in.nextInt();
if(answer==chengfa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+chengfa);
System.out.println("-----------------------------");
}
}
if(z == 3) {
System.out.println(x+"÷"+y+"="+"?");
int answer = in.nextInt();
if(answer==chufa) {
System.out.println("恭喜你答对了!");
dui ++;
}else {
System.out.println("很遗憾,你答错了!正确答案为:"+chufa);
System.out.println("-----------------------------");
}
}
System.out.println("请按1继续练习,按0退出练习");
num = in.nextInt();
SUM ++;
if(num == 0 ) {
break;
}
}
}
}
}while(num==1);
double adv = (double)(dui/SUM)*100;
System.out.println("-----------------------------");
System.out.println("你本次一共练习了"+SUM+"题");
System.out.println("答对了"+dui+"题");
System.out.println("准确率为"+adv+"%");
}
}
功能效果如下: