小学生口算答题卡程序——计应193第五组卢文成
计划:
1, 能够用java语言做出实现加减乘除的四则运算。
2、使用随机函数产生一组(数量可自选)算数题
3、能根据学生的年级出不同的题目。
4、可以进行单项训练,和混合训练,并可以进行打分
需求分析:
1,作为一个一年级小学生的家长,我希望制作一个出题软件,完成100以内的正整数的加减法题随机产生,以便减轻我的家庭负担。
2, 程序正常工作,能准确的实现加减乘除四则运算。
3,可以判断对错,并随机出题
生成设计文档:
先写一个实现类,里面包含加减乘除的四个运算方法,在创建一个加减乘除的测试类进行算法测试。
代码规范:
定义类时要选取合适的名字,要规范每一行代码。
注意空格,保证缩进。
代码复审:
仔细检查代码,看是否存在错误或代码不规范的。
|
PSP阶段 |
自己所花时间百分比 |
工程师所花时间百分比 |
|
计划 |
12 |
6 |
|
12 |
6 |
|
开发 |
98 |
88 |
|
7 |
10 |
|
4 |
6 |
|
3 |
6 |
|
6 |
3 |
|
9 |
12 |
|
47 |
21 |
|
13 |
9 |
|
11 |
21 |
|
报告 |
6 |
6 |
|
2 |
2 |
|
3 |
1 |
|
4 |
3 |
具体编码:
import java.util.Scanner;
import java.lang.String;
import java.sql.Date;
import java.lang.Math;
public class calculation {
public static final int one = 1;
public static int score = 0;
// public static final int score = 0;
public static void main(String args[]) {
int choose,clas,n,result, x, y,score=0;
Scanner sr=new Scanner(System.in);
System.out.println("欢迎使用计算机");
System.out.println("请你输入年级:");
clas=sr.nextInt();
while(true) {
if (clas>1&&clas<=6)
{
ONE();
break;
}
}
}
public static void menu() {
System.out.println("1---------加法");
System.out.println("2---------减法");
System.out.println("3---------乘法");
System.out.println("4---------除法");
System.out.println("5---------混合运算");
System.out.println("6---------退出");
System.out.println("请输入你的选项:");
}
public static int ADD() {
int choose,clas,n,result, x, y,score=0;
Scanner sr=new Scanner(System.in);
System.out.println("这里是加法运算,请你输入要做几题");
n=sr.nextInt();
while(n>0) {
x=(int)(Math.random()*10);
y=(int)(Math.random()*10);
System.out.print(x+"+"+y+"=");
result=sr.nextInt();
if(result==(x+y)) {
System.out.println("答案正确,你真棒!");
score++;
}else {
System.out.println("答案错误,正确答案为"+(x+y));
}
n--;
}
return score;
}
public static int SUB() {
int choose,clas,n,result, x, y,score=0;
score++;
}else {
System.out.println("答案错误,正确答案为"+(x*y));
}
n--;
}
return score;
}
public static int DIVI() {
int choose,clas,n,result, x, y,score=0;
Scanner sr=new Scanner(System.in);
int all, max;
System.out.println("这里是除法运算,请你输入要做几题");
n=sr.nextInt();
while(n>0) {
x=(int)(Math.random()*10);
y=(int)(Math.random()*10);
all=x*y;
if(y!=0) {
System.out.print(all+"/"+y+"=");
result=sr.nextInt();
if(result==(all/y)) {
System.out.println("答案正确,你真棒!");
score++;
}else {
System.out.println("答案错误,正确答案为"+(all/y));
}
}
n--;
}
return score;
}
public static int MIX() {
int choose,clas,n,result, x, y,score = 0;
Scanner sr=new Scanner(System.in);
System.out.println("这里是混合运算,请你输入要做几题");
n=sr.nextInt();
while(n>0) {
int sum=0;
x=(int)(Math.random()*10);
y=(int)(Math.random()*10);
choose=(int)(Math.random()*3);
switch(choose) {
case 0:
System.out.print(x+"+"+y+"=");
sum=x+y;
break;
case 1:
if(x<y) {
System.out.print(y+"-"+x+"=");
sum=y-x;
}else {
System.out.print(x+"-"+y+"=");
sum=x-y;
}
break;
case 2:
System.out.print(x+"*"+y+"=");
sum=x*y;
break;
case 3:
int all1;
all1=x*y;
if(y!=0) {
System.out.print(all1+"/"+y+"=");
sum=all1/y;
}
break;
}
System.out.print("请输入答案:");
result=sr.nextInt();
if(result==sum) {
System.out.println("答案正确,你真棒!");
score++;
}else {
System.out.println("答案错误,正确答案为"+(sum));
}
n--;
}
return score;
}
public static void ONE() {
int choose,clas,n,result, x, y;
Scanner sr=new Scanner(System.in);
while(true) {
menu1(); choose=sr.nextInt();
switch(choose) {
case 1:
System.out.println("本次加法运算得分是"+ADD());
break;
case 2:
System.out.println("本次减法运算得分是"+SUB());
break;
case 3:
System.out.println("本次乘法运算得分是"+MULTI());
break;
case 4:
System.out.println("本次除法运算得分是"+DIVI());
break;
case 5:
System.out.println("本次运算混合得分是"+MIX());
case 6:
System.exit(0);
}
}
}
}
运行结果
![]()
程序可程序已可以完成简单的四则运算。和前期设计目的一致,满足用户的小学生100以内算术需求。


浙公网安备 33010602011771号