软件工程——第二次作业

一、题目

请编写一个能自动生成小学四则运算题目的 “软件”。
让程序能接受用户输入答案,并判定对错。
最后给出总共 对/错 的数量。

二、需求分析

    本程序适合小学生,锻炼自己的运算能力。练习的软件。

三、   基本需求

1、  显示题目数量

2、  逐个自动显示题目

3、  用户可以逐题解答

4、  显示答题对错

5、统计对错数量 

四、代码实现

import java.util.Scanner;
public class Calculator {
public static int suiji(int num1,int num2){
int C=(int)num1+(int)(Math.random()*(num2-num1));
return C;
}
public static void main(String[] args) {

int S,a,b,i=1,f=0,h=0;
double D;
while(i<=5){
S=suiji(1,4);
i=i+1;
a=suiji(0,100);
b=suiji(0,100);
switch(S){
case 1 :
System.out.println(a+"+"+b+"=");
Scanner reader=new Scanner(System.in);
D=reader.nextInt();
if(D==a+b){
h++;
}
else{
System.out.println("答错了,正确答案是:"+(a+b));

}
break;
case 2 :
System.out.println(a+"*"+b+"=");
Scanner reader1=new Scanner(System.in);
D=reader1.nextInt();
if(D==a*b){
h++;
}
else{
System.out.println("答错了,正确答案是:"+(a*b));

}
break;
case 3 :
System.out.println(a+"-"+b+"=");
Scanner reader2=new Scanner(System.in);
D=reader2.nextInt();
if(D==a-b){
h++;
}
else{
System.out.println("答错了,正确答案是:"+(a-b));

}
break;
case 4 :
System.out.println(a+"/"+b+"=");
Scanner reader3=new Scanner(System.in);
D=reader3.nextInt();
if(D==a/b){
h++;
}
else{
System.out.println("答错了,正确答案是:"+(a/b));

}
break;
}
continue;
}
System.out.println("您一共答对了"+h+"道题");
}

}

五:运行结果:

六、分析和总结

软件设计是一个连续性的过程,这个过程需要有严谨的构思和缜密的逻辑思维,在该程序的设计中,运用了自己熟悉的JAVA语言相对C++来说更容易些,本想设计成JAVA Swing图形界面的程序,但由于时间的限制,没能进行,以后利用空余时间来尝试写程序,以此来提升自己的编程能力!

七、PSP统计表格

原文地址:https://www.cnblogs.com/yy0848/p/4409483.html