软件工程个人作业01

【四则运算1】

像二柱子那样,花二十分钟写一个能自动生成三十道小学四则运算题目的 “软件”,

要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。(有能力者改编成网页版)

和同学们比较一下各自程序的功能、实现方法的异同等等。

备注:相比题目要求,目前只实现了整数的四则运算,可实现验证结果的正确性,可定制题的数量。

【程序设计思想】因为没有实现真分数以及可以题目避免重复要求,所以随机出不同数量的四则运算题目就相对简单了,对于结果判断,是用if语句实现的。总体来说比较简单。

【源程序代码】

 1 //信1605-2班  那颖  20163448
 2 import java.util.Scanner;
 3 public class SiZeYunSuan
 4 {
 5     public static void main(String[] args)
 6     {
 7         // TODO Auto-generated method stub
 8         Random1();
 9         
10     }
11     
12     public static void Random1()
13     {
14         long timeStart = System.currentTimeMillis();
15         double result;
16         int tCount=0,fCount=0;
17         int x,y;
18         char c;
19         int num;
20         Scanner input=new Scanner(System.in);
21         System.out.println("请输入要计算的题目数量:");
22         num=input.nextInt();
23         String s="+-*/";
24         for(int i=0;i<num;i++)
25         {
26             x=(int) (Math.random()*100);
27             c=s.charAt((int) (Math.random()*4));
28             y=(int) (Math.random()*100);
29             if(c=='+')
30             {
31                 result=x+y;
32             }
33             else if(c=='-')
34             {
35                 result=x-y;
36             }
37             else if(c=='*')
38             {
39                 result=x*y;
40             }
41             else
42             {
43                 result=(double)x/y;
44             }
45             System.out.println(x+""+c+""+y+"=");
46             int r=input.nextInt();
47             if(result==r)
48                 tCount++;
49             else
50                 fCount++;
51         }
52         System.out.println(num+"道题已做完,您做对的题目有:"+tCount+"道,做错的题目有:"+fCount+"道");
53         long timeEnd=System.currentTimeMillis();
54         System.out.println("总共花费:"+(timeEnd-timeStart)+"ms");
55     }
56     
57 }

【运行结果截图】

posted on 2017-12-02 18:18  歪歪bky  阅读(278)  评论(0)    收藏  举报

导航