四则运算java_小学生四则运算JAVA
組員:黃浩格,何坤
一、項目說明
1題目:實現一個自動生成小學四則運算題目的命令行程序。
2說明:
自然數:0, 1, 2, …。
? 真分數:1/2, 1/3, 2/3, 1/4, 1’1/2, …。
? 運算符:+, ?, ×, ÷。
? 括號:(, )。
? 等號:=。
? 分隔符:空格(用于四則運算符和等號前后)。
? 算術表達式:
e = n | e1 + e2 | e1 ? e2 | e1 × e2 | e1 ÷ e2 | (e),
其中e, e1和e2為表達式,n為自然數或真分數。
? 四則運算題目:e = ,其中e為算術表達式。
3需求:
使用 -n 參數控制生成題目的個數,例如
Myapp.exe -n 10
將生成10個題目。
使用 -r 參數控制題目中數值(自然數、真分數和真分數分母)的范圍,例如
Myapp.exe -r 10
將生成10以內(不包括10)的四則運算題目。該參數可以設置為1或其他自然數。該參數必須給定,否則程序報錯并給出幫助信息。
生成的題目中計算過程不能產生負數,也就是說算術表達式中如果存在形如e1 ? e2的子表達式,那么e1 ≥ e2。
生成的題目中如果存在形如e1 ÷ e2的子表達式,那么其結果應是真分數。
每道題目中出現的運算符個數不超過3個。
程序一次運行生成的題目不能重復,即任何兩道題目不能通過有限次交換+和×左右的算術表達式變換為同一道題目。例如,23 + 45 = 和45 + 23 = 是重復的題目,6 × 8 = 和8 × 6 = 也是重復的題目。3+(2+1)和1+2+3這兩個題目是重復的,由于+是左結合的,1+2+3等價于(1+2)+3,也就是3+(1+2),也就是3+(2+1)。但是1+2+3和3+2+1是不重復的兩道題,因為1+2+3等價于(1+2)+3,而3+2+1等價于(3+2)+1,它們之間不能通過有限次交換變成同一個題目。
其中真分數在輸入輸出時采用如下格式,真分數五分之三表示為3/5,真分數二又八分之三表示為2’3/8。
在生成題目的同時,計算出所有題目的答案,并存入執行程序的當前目錄下的Answers.txt文件,格式如下:
答案1
答案2
特別的,真分數的運算如下例所示:1/6 + 1/8 = 7/24。
程序應能支持一萬道題目的生成。
程序支持對給定的題目文件和答案文件,判定答案中的對錯并進行數量統計
二、PSP表格
三、設計思路
1、將整數統一為分數形式,利用random隨機生成數和符號,以字符串數組的方式存儲(一個數組只包含一個分數或者一個符號),編寫加減乘除算法。
2、在 題目 文件的控制臺輸入 題目數 數的上限 ,就可生成對應題目在 題目.txt,對應答案存放在 正確答案.txt 文件中,學生在 學生答案.txt中輸入每題答案,對錯和分數在 成績分數.txt中呈現。
四、代碼實現
五、測試結果
六、總結
1、一開始想從整數入手,后來發現很多算法不適用于分數,于是再將整數化為分數,再重寫各種算法。
2、有兩三個要求沒有實現,比如括號和運算過程不能出現負數,而且生成題目速度較慢,以后會努力盡量改進這些。
3、寫代碼的時間分配不是很好,有時寫兩三小時,有時只有半個鐘,分工不是很明確,下次會注意的。
java小學生四則運算帶面板版 但我不知道為什么同類變量卻進不了動作監聽中去
---恢復內容開始--- package yun; import java.util.*; import java.awt.*; import java.awt.event.ActionEvent; ...
3.結對編程成果報告(小學生四則運算的出題程序,Java實現)
程序名稱:小學生四則運算的出題程序 先附上代碼: package com.makequestion; import java.text.DecimalFormat;import java.util.R ...
作業六:小學生四則運算之NABCD模型與產品Backlog。
NABCD模型與產品Backlog NABCD模型 ) N (Need 需求) 方便了老師和學生,使他們可以想要的時候隨時可以得到,省時省力,快速出題,馬上得到答案. ) A (Approach 做法 ...
30道小學生四則運算題C/C++編程
軟件工程科課上,老師通過實例講解什么是程序,程序和軟件的區別,要求我們通過短時間寫一道編程題, 題目就是編寫30道小學生四則運算題.以下就是源代碼: #include
四則運算 Java 楊輝鵬,鄭冠華
四則運算 Java 楊輝鵬,鄭冠華 GitHub鏈接:https://github.com/yanghuipeng/arithmetic 項目相關要求 使用 -n 參數控制生成題目的個數,例如 -n ...
《軟件工程》小組團隊項目-小學生四則運算APP(First Sprint)
團隊項目我們小組選擇了小學生四則運算APP,在上學期原有的項目基礎上進行更新升級.(自我感覺我們團隊上學期的小學生四則運算APP是較為成功且實用的,不過這學期學習到了新的知識, ...
第三周結對項目--小學生四則運算CAI軟件匯報及總結(UI/web)
前言: 這周是和我隊友蘇衛喜一起結對開發,我主要是寫項目文檔需求分析,她是通過我的需求文檔來進行做思維導圖,之后我們通過思維導圖一起討論用戶界面設計. 以下就是我的需求分析1.0版本 1.?? 軟件名 ...
作業6小學生四則運算測試APP的NABCD模型
小學生四則運算測試NABCD模型 組員:李新,朱浩龍,葉煜穩,陳俊金,林德麟 (1)??N (Need?需求) 需求分析: 四則運算是小學生學習數學的核心和基礎,必須經過大量的練習才能熟練掌握,但是一 ...
使用MFC做一個簡單的‘能自動生成小學生四則運算的軟件’
這是軟件工程的第一次作業!但由于我們python還沒入門,所以這次的要求是‘語言不限’. 小學期做過一個關于MFC的‘資金管理系統’,也正好可以有界面,所以就選擇了自己很熟悉的MFC來做這個作業! 1 ...
隨機推薦
ASP.NET MVC圖片管理(上傳,預覽與顯示)
先看看效果(下面gif動畫制作有點大,5.71MB): 題外話:上面選擇圖片來源于Insus.NET的新浪微博:http://weibo.com/104325017?也是昨晚(2015-07-03)I ...
C#獲取 URL參數
假設當前頁完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli "http://"是協議名 "www.te ...
Java并發編程核心方法與框架-CountDownLatch的使用
Java多線程編程中經常會碰到這樣一種場景:某個線程需要等待一個或多個線程操作結束(或達到某種狀態)才開始執行.比如裁判員需要等待運動員準備好后才發送開始指令,運動員要等裁判員發送開始指令后才開始比賽 ...
第二百五十二天 how can I 堅持
明天就要去旅游了...還不知道去哪呢,只知道要滑雪,要泡溫泉,還要去西柏坡..哈哈. 其他沒什么了吧.只是昨晚刷的鞋還沒干,不知道明天會不會干,明天還得早走會,九點之前就得到. 還不知道坐車坐多長時間 ...
CenOS下安裝Eclipse并配置PyDev
為方便安裝,使用SecureCRT來操作CentOS 1. 更改網絡配置 虛擬機使用橋接方式上網(默認是NAT方式) 2. 啟動后讓虛擬機上網 3. 啟動終端查看ip地址 4. 使用SecureCRT ...
修復服務器上出現ImportError: cannot import name main的問題
在服務器上成功升級pip2之后再運行pip2命令出現如下報錯信息 Traceback (most recent call last): File "/usr/bin/pip2.7" ...
Java的數組堆溢出問題
在寫測試方法的時候,生成了一個數組,之后報了堆溢出錯誤,這樣的報錯一般來說只要有一些JVM的基礎都知道要用-Xmx.-Xms來開更大的堆,接下來看看我碰到的一個堆溢出的問題 在測試代碼中開了一個500 ...
JAVA對URL的解碼【轉】
前段時間做URL的中文轉換,有些url是utf8的格式,有的是gb2312的格式,很難區分到底是utf8還是gb2312,找了好久,發現網上的一個牛人寫的轉換代碼: package org.apach ...
三:Jquery-event
一:jq中事件 1.頁面載入事件 ready()方法 格式: $(document).ready(function(){}); $(function(){}); 2.綁定事件 click(),dblc ...
總結
以上是生活随笔為你收集整理的四则运算java_小学生四则运算JAVA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 群组消息,极光IM- 群
- 下一篇: 【STM32F4系列】【HAL库】旋转编