小学生口算答题卡程序——计应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以内算术需求。
posted @ 2021-04-11 11:57  Xiao旋  阅读(201)  评论(0)    收藏  举报