201571030308 小學生四則運算練習小程序

Github源碼地址連接:https://github.com/ijinping/SIZEYUNSUANgit

一.項目要求:github

   嘗試按照《構建之法》第2章中2.3所述PSP流程,使用JAVA編程語言,獨立完成一個包含3到5個數字的四則運算練習的命令行軟件開發。編程

二.需求分析dom

  • 程序可接收一個輸入參數n,而後隨機產生n道加減乘除練習題,每一個數字在 0 和 100 之間,運算符在3個到5個之間。
  • 爲了讓小學生獲得充分鍛鍊,每一個練習題至少要包含2種運算符。同時,因爲小學生沒有分數與負數的概念,你所出的練習題在運算過程當中不得出現負數與非整數,好比不能出 3/5+2=2.6,2-5+10=7等算式。
  • 練習題生成好後,將你的學號與生成的n道練習題及其對應的正確答案輸出到文件「result.txt」中,不要輸出額外信息,文件目錄與程序目錄一致。當程序接收的參數爲4時,如下爲輸出文件示例。

201571030107編程語言

(78*23)-(6*91) = 1248學習

(3+36)*(34-21) = 507測試

(15*81)*(14+87) = 122715編碼

(95-4)+(37-30) = 98spa

支持有括號的運算式,包括出題與求解正確答案。注意,算式中存在的括號必須大於2個,且不得超過運算符的個數。命令行

三.功能設計

  1. 程序可接收一個輸入參數n
  2. 能夠隨機產生n道四則運算練習題
  3. 生成的數字範圍爲0-100
  4. 要求至少包含2種運算符,即運算符個數爲2個或兩個以上,可知隨機產生的數字至少有3個
  5. 不能出現負數與小數

四.設計實現


五.測試運行

 

 六.核心代碼

public static void main(String[] args) { // TODO Auto-generated method stub
        int x = 0,y,i; String m="201571030308"; String a1; int d1=0; String d = null; System.out.println("輸入學號開始"); Scanner scan1=new Scanner(System.in); a1=scan1.next(); if(a1.equals(m)){ System.out.println("請輸入題目的數量"); Scanner scan2=new Scanner(System.in); x=scan2.nextInt(); int daan[]=new int [x]; System.out.println("請輸入數值的範圍"); y=scan2.nextInt(); for(i=0;i<x;i++){ int a=(int)(Math.random()*y);//隨機生成一個1-10的整數
            int b=(int)(Math.random()*y);//隨機生成一個1-10的整數
            int  n=(int)(Math.random()*30)*2;//隨機生成一個1-60的偶數
            int c=(int)(Math.random()*4);

 

 

System.out.println("是否顯示答案(顯示請輸入1)"); if(scan2.nextInt()==1){ for(i=0;i<x;i++){ System.out.print(daan[i]+"     "); } } } System.out.println("是否顯示答案(顯示請輸入1)"); if(scan1.nextInt()==1){ for(i=0;i<x;i++){ System.out.print(args[i]+"     "); } } }

 

七.總結 

       在設計較這個程序的時候,我採用了自頂向下的方法,將這個問題劃分爲幾三個部分,第一部分是程序隨機生成的題數,第二部分是具體生成的題的「樣式」,第三部分是設計計算生成隨機題的答案。每一部分又再細化分解,直到分解爲較好解決問題爲止。 

       第一次如此認真的查找信息,尋找資料的來完成這個程序,雖然很辛苦,但收穫頗多

八.展現PSP

PSP2.1

任務內容

計劃完成須要的時間(min)

實際完成須要的時間(min)

Planning

計劃

20

30

·       Estimate

·  估計這個任務須要多少時間,並規劃大體工做步驟

20

30

Development

開發

240

270

··       Analysis

  需求分析 (包括學習新技術)

30

40

·       Design Spec

·  生成設計文檔

20

20

·       Design Review

·  設計複審 (和同事審覈設計文檔)

10

15

·       Coding Standard

  代碼規範 (爲目前的開發制定合適的規範)

30

40

·       Design

  具體設計

10

12

·       Coding

  具體編碼

36

90

·       Code Review

·  代碼複審

7

9

·       Test

·  測試(自我測試,修改代碼,提交修改)

13

21

Reporting

報告

55

50

··       Test Report

·  測試報告

15

10

·       Size Measurement

  計算工做量

15

20

·       Postmortem & Process Improvement Plan

·  過後總結 ,並提出過程改進計劃

15

  1. 20


 

---恢復內容結束---

相關文章
相關標籤/搜索