日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

四则运算题目生成程序(基于控制台)

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 四则运算题目生成程序(基于控制台) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于控制臺的四則運算

?


?

代碼地址


a.需求分析

  • 運算符為 +, ?, ×, ÷
  • 除了整數以外,還要支持真分數的四則運算,真分數的運算,例如:1/6 + 1/8 = 7/24
  • 要求能處理用戶輸入的真分數, 如 1/2, 5/12 等
  • 并且要求能處理用戶的輸入,并判斷對錯,打分統計正確率。

  • ? ? ? ? ? b.功能設計

  • 基本功能 ? 通過從控制臺隨機的得到整數和真分數的四則運算,然后根據控制臺輸入的結果判斷對錯,給出正確率
  • 擴展功能 ? 希望改進代碼可以實現帶括號的復合運算(未完成)

  • ?

    ? ? ? ? c.設計實現?

    ?? ? ? ? 一個測試類class Test 用來檢測程序的正常運行

    ? ? ? ? ? 一個整數類class zhengshu ?里面有一個方法jisuan()用來實現整數的四則運算

    ? ? ? ? ? 一個分數類class Fracetion 有Numerator,Denominator,fraction用來表示分子,分母和分數,然后包含了getter()方法和構建分數的方法creatfraction()

    ? ? ? ? ? 一個分數的方法類class?Mathod 里面有三個分數四則運算時要用到的方法 求最大公約數getGCD(int i,int j)約分重構分數 ? ? ? ? ? Reduction(int i,int j)和判斷正錯compare(String a, String b)

    ? ? ? ? ? 一個分數的四則運算法則類class?Calculate 里面包含四個方法,分別是加減乘除

    ? ? ? ? ? 一個分數計算類class fenshu 里面包含一個計算方法jisuan()用來隨機選擇計算符號,然后判斷正誤

    ? ? ? ? ? 關系:測試類只要調用class zhenghsu和class fenshu中的jisuan()方法即可測試;class?Calculate需要import Fraction類和Mathod,Fraction類也import了Mathod類


    ?

    ? ? ? ??d.代碼說明

        • 真分數的生成
    1 public String creatfraction() //創建分數并且化為最簡 2 { 3 int i, j; 4 Numerator = 1+(int) (Math.random() * 10); 5 Denominator = 2+(int) (Math.random() * 10); 6 i = Numerator; 7 j = Denominator; 8 j = Mathod.getGCD(i, j); 9 Numerator = Numerator / j; 10 Denominator = Denominator / j; 11 fraction = Mathod.Reduction(Numerator, Denominator); 12 return fraction; 13 14 }
        • Mathod類中的方法
    1 static int getGCD(int i, int j) //求最大公約數 輾轉相除法。 2 { 3 int temp; 4 while (i % j != 0) { 5 temp = i % j; 6 i = j; 7 j = temp; 8 } 9 return j; 10 } 11 12 static String Reduction(int i, int j) //約分,化為最簡。 13 { 14 String k; 15 if (j == 1) { 16 k = i + ""; 17 } else { 18 k = (i) + "" + "/" + (j) + ""; 19 } 20 return k; 21 } 22 23 static boolean compare(String a, String b) //比較輸入值與答案,返回值為boolean類型。 24 { 25 if (a.equals(b)) 26 {System.out.println("回答正確"); 27 return true;} 28 else 29 { 30 System.out.println("回答錯誤,正確答案是" + b); 31 return false; 32 } 33 }
        • 真分數的四則運算(以加法為例,其余雷同)
    1 public String add(Fraction a, Fraction b) //加法 參考分數間加減乘除 用四個變量表示兩個分數的分子分母 2 { 3 int i, j, k, s, m, n, p; 4 i = a.getNumerator();// 分子 5 j = a.getDenominator();// 分母 6 k = b.getNumerator(); 7 s = b.getDenominator(); 8 m = i * s + j * k; 9 n = s * j; 10 p = Mathod.getGCD(m, n); 11 return Mathod.Reduction(m / p, n / p); 12 13 }

    ? ? ? ??e.測試運行

    ?


    ? ? ? ??PSP


    ?

    PSP2.1Personal Software Process StagesEstimated time(min)actual time(min)
    Planning計劃1210
    · Estimate估計這個任務需要多少時間120115
    Development開發8090
    · Analysis需求分析 (包括學習新技術)1010
    · Design Spec生成設計文檔710
    · Design Review設計復審65
    · Coding Standard代碼規范45
    · Design具體設計3040
    · Coding具體編碼3540
    · Code Review代碼復審1015
    · Test測試(自我測試,修改代碼,提交修改)1515
    Reporting報告2025
    ·測試報告55
    ·計算工作量47
    ·并提出過程改進計劃44

    ?? ? ? ??總結


    ?

    ? ? ?在做作業的時候,體會到了邏輯清晰是有多重要,不管編程能力怎么樣,首先看見一道題目時不要急著就去做,想想如何做怎么做才是最重要的,如果邏輯清晰知道需要建幾個類,每個類包含什么,每個類之間的關系是什么,就算個別方法不會寫,大體的模子也能畫出來,最后要就個別函數即可。下次我做作業的時候應該會多花時間在邏輯分析,流程圖上。

    ?

    ?

    ?

    ?

    轉載于:https://www.cnblogs.com/sy0717/p/6512108.html

    總結

    以上是生活随笔為你收集整理的四则运算题目生成程序(基于控制台)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。