作業1---四則運算

? ?一.需求分析:

除了整數以外,還要支持真分數的四則運算,真分數的運算,例如:1/6 + 1/8 = 7/24

運算符為 +, ?, ×, ÷

并且要求能處理用戶的輸入,并判斷對錯,打分統計正確率。

要求能處理用戶輸入的真分數, 如 1/2, 5/12 等

使用 -n 參數控制生成題目的個數,例如執行下面命令將生成10個題目。

?

?二.功能設計:

根據所寫的代碼,隨機生成數字以及運算符號,并且組合成式子。

能生成分數,并且是最簡分數。

輸入計算結果后,如正確,輸出正確,錯誤,則輸出正確答案,并且能統計出錯的題目個數。

? ?

三.設計實現:

此次實驗,設置了4個class,主類--Main用來調用其他類,負責輸入輸出,判定結果以及統計錯誤個數

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類--result 計算

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類--fenshu 求最大公約數

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類--qqq用來生成的式子

?

四.代碼說明:

主要的是main和qqq兩個類

main類:用循環語句來計算錯誤的個數,當number=0時,則跳出循環錯誤個數加1.

import java.util.Scanner;
public class Main {static randomqqq rand = new randomqqq();static result end = new result();public static void main(String[] args) {int number = 0;int falseNum = 0;String userresult, trueresult, fenzi, fenmu;Scanner in = new Scanner(System.in);System.out.print("輸入隨機生成的式子個數:");number = in.nextInt();for (; number != 0; number--) {rand.randTest();System.out.println("你輸入的答案是:");Scanner result = new Scanner(System.in);userresult = result.nextLine();trueresult = Integer.toString(rand.result);if (rand.m == 0 && rand.randNum != 3) {trueresult = Integer.toString(rand.result);} else {trueresult = Integer.toString(rand.fenzi) + "/" + Integer.toString(rand.fenmu);}if (userresult.equals(trueresult)) {System.out.println("答案正確!");} else {falseNum++;System.out.println("答案錯誤!  正確的答案:" + trueresult);}}System.out.println("錯誤的個數:" + falseNum);}
}

?

類qqq:選擇參數,計算出式子

int temp1 = yuefen.getnumber(a, c);int temp2 = yuefen.getnumber(b, d);int temp4 = yuefen.getnumber(a, b);        int fz = end.up(a, b, c, d, randNum);int fm = end.fenmu(a, b, c, d, randNum);int temp3 =yuefen.getnumber(fz,fm) ;switch (m) {case 0:if (b == 0 && randNum == 3)System.out.println(b + " " + ch[randNum] + " " + a + " " + "=");elseSystem.out.println(a + " " + ch[randNum] + " " + b + " " + "=");break;case 1:System.out.println(a / temp1 + "/" + c / temp1 + " " + ch[randNum] + " " + b / temp2 + "/" + d / temp2 + " " + "=");break;}if (m == 0 && randNum != 3)result = end.result1(a, b, randNum);else if (m == 0 && randNum == 3) {fenzi = a / temp4;fenmu = b / temp4;} else {fenzi = fz/ temp3;fenmu = fm / temp3;}

?

?

五.測試運行:

PSP:

PSP2.1

Personal Software Process Stages

Time (%) Senior Student

Time (%)

Planning

計劃

8

5

· Estimate

估計這個任務需要多少時間

20

5

Development

開發

25

20

· Analysis

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

5

5

· Design Spec

生成設計文檔

5

5

· Design Review

設計復審

0

0

· Coding Standard

代碼規范

3

3

· Design

具體設計

10

15

· Coding

具體編碼

50

40

· Code Review

代碼復審

5

5

· Test

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

10

15

Reporting

報告

5

5

·

測試報告

1

1

·

計算工作量

2

5

·

并提出過程改進計劃

3

2

?

實驗總結:

?在編程之前,需要思考好可能忽略的問題以及可能出現的問題,比如此次實驗,分數需要最簡化,分數中,分母不為0的情況。計算錯誤的題數時,如何設計循環語句使其能夠正確計算個數,生成式子時可能會出現錯誤的式子,式子的格式要規范等問題。有問題自己積極思考,思考不出來呢就問百度,找同學。 編程需要一步一步訓練,才能有所進步。

?

轉載于:https://www.cnblogs.com/lasolitude/p/6514118.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396553.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396553.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396553.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python有序數組中刪除元素_python刷LeetCode:26. 刪除排序數組中的重復項

題目描述:給定一個排序數組,你需要在原地刪除重復出現的元素,使得每個元素只出現一次,返回移除后數組的新長度。不要使用額外的數組空間,你必須在原地修改輸入數組并在使用 O(1) 額外空間的條件下完成。示例 1:給定數組…

mysql數據庫修改數據庫名稱_MySQL數據庫之MySQL 修改數據庫名稱的一個新奇方法...

本文主要向大家介紹了MySQL數據庫之MySQL 修改數據庫名稱的一個新奇方法 ,通過具體的內容向大家展現,希望對大家學習MySQL數據庫有所幫助。MySQL在5.1引入了一個rename database操作,但在MySQL5.1.23后又不支持這個命令。可以說是一個實驗性的…

Lesson 001 —— 數據

Lesson 001 —— 數據 數據(data)是事實或觀察的結果,是對客觀事物的邏輯歸納,是用于表示客觀事物的未經加工的原始素材。數據是信息的表現形式和載體,可以使符號、文字、數字、語音、圖像、視頻等。 進制 進制也就是進…

工作記錄四-etcd與flanneld

######################### etcd用來做flannld的數據中心,記錄flannld各主機子網的配置## flannld使各容器實例處于同一子網內,可以相互訪問####################### ### 一、etcd安裝及使用## 1. 下載編譯二進制包git clone https://github.com/coreos…

C#獲取剛插入的數據的id

在開發程序中我們經常會遇到兩個表或多個表關聯同時插入數據的需求。 那么我們剛給主表插入一條數據,接著給副表插入數據時其中一個字段要存儲與主表關聯的id,那么我們該怎么獲取剛插入的那條數據的id呢? insert infor values(,) ;SELECT Ide…

感謝您的提問_感謝您的反饋,我們正在改進的5種方法

感謝您的提問by freeCodeCamp通過freeCodeCamp 感謝您的反饋,我們正在改進的5種方法 (5 Ways We’re Improving Thanks to Your Feedback) This was originally published on our now-defunct blog on September 17, 2015.該文章最初于2015年9月17日發布在我們現已…

sql三個表join_「數據蔣堂」第 31 期:JOIN 簡化 – 維度對齊

【數據蔣堂】第 31 期:JOIN 簡化 – 維度對齊我們先把上一期中雙子表對齊例子的 SQL 寫出來:SELECT Orders.id, Orders.customer, A.x, B.y FROM Orders LEFT JOIN (SELECT id,SUM(price) x FROM OrderDetail GROUP BY id ) A ON Orders.idA.id LEFT J…

radius

radius協議使用的是UDP傳輸協議,UDP協議相對于TCP更快速,無連接的不可靠。radius協議的包格式:0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1-----------…

apt-get常用命令及工作原理

https://blog.csdn.net/mosquito_zm/article/details/63684608轉載于:https://www.cnblogs.com/diyunpeng/p/9772866.html

day10_控制文件

---------------------驗證互為鏡像功能---------------------窗口1cd /oracle/app/oradata/ecomrm control03.ctl 窗口2SQL> startup force;ORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size …

堆疊自編碼器中的微調解釋_25種深刻漫畫中的編碼解釋

堆疊自編碼器中的微調解釋by freeCodeCamp通過freeCodeCamp 25種深刻漫畫中的編碼解釋 (Coding Explained in 25 Profound Comics) We asked our open source community to share the comics they found most profoundly described coding, via our news site. Here are their…

linux和mysql重點哪個_重要的MySQL 文檔存儲知識點掃盲

MySQL 文檔存儲 可以跳過底層數據結構創建、數據規范化和其它使用傳統數據庫時需要做的工作,直接存儲數據。MySQL 可以提供 NoSQL JSON 文檔存儲Document Store 了,這樣開發者保存數據前無需 規范化normalize 數據、創建數據庫,也無需在開發之…

python端口掃描工具_Python實現的多線程端口掃描工具分享

# -*- coding: utf-8 -*-__author__ Phtih0nimport threading, socket, sys, cmd, os, Queue#掃描常用端口PortList [21, 22, 23, 25, 80, 135, 137, 139, 445, 1433, 1502, 3306, 3389, 8080, 9015]#得到一個隊列def GetQueue(list):PortQueue Queue.Queue(65535)for p in …

Linux系統啟動全過程

分為兩部分,第一部分是硬件本身需要加載的信息,之后才是加載Linux相關信息,因為有裝有雙系統的機器嘛 1.計算機加電 2.BIOS開始運行,檢測硬件:cpu、內存、硬盤等 3.BIOS讀取CMOS存儲器中的參數,選擇啟動設備…

day09_讀寫分離_Atlas小記

GRANT ALL PRIVILEGES ON *.* TO root% identified by mysql;FLUSH PRIVILEGES;主從庫上全做--------------------------------------------------------------------yum install -y gcc*rpm -ivh Atlas-2.2.1.el5.x86_64.rpm 【rpm包直接安裝】rpm -ql Atlas 【查看安裝路徑…

Free Code Camp現在有本地組

by freeCodeCamp通過freeCodeCamp Free Code Camp現在有本地組 (Free Code Camp now has Local Groups) Our open source community was born online. And our campers are adept at using the internet to communicate. Most of this communication is just short text messa…

二十四點游戲python_[求助]關于二十四點游戲python

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓24點紙牌游戲的開發24點是一種老少咸宜的游戲,它的具體玩法如下:給玩家4張牌,每張牌的面值在1~13之間,允許其中有數值相同的牌。采用加、減、乘、除四則運算,允…

python-3.6.2安裝

1、下載python-3.6.2-amd64.exe安裝包 官網下載地址:https://www.python.org/ 2、Python安裝,雙擊傻瓜式安裝(用英文路徑,不要有空格), 特別要注意勾上Add Python 3.6 to PATH(勾選后&#xff0…

Siege壓力工具

Siege官方:http://www.joedog.org/ Siege下載:http://www.joedog.org/pub/siege/siege-latest.tar.gz Siege解壓并安裝:# tar -zxvf siege-latest.tar.gz # cd siege-latest/ #./configure #make #make installSiege使用:# siege -h 查看相關…

遞歸javascript_JavaScript中的遞歸

遞歸javascriptby Kevin Ennis凱文恩尼斯(Kevin Ennis) JavaScript中的遞歸 (Recursion in JavaScript) I’m just gonna get this out of the way right up front, because people get really angry otherwise:我只是直接解決這個問題,因為否則人們會非常生氣&…