超簡單四則運算
阿新 • • 發佈:2018-04-19
tor stat ase image res ret 分享 加減乘 IT
題目描述:
從《構建之法》第一章的 “程序” 例子出發,寫一個能自動生成小學四則運算題目的命令行 “軟件”,滿足以下需求:
支持加減乘除,運算符為 +, ?, ×, ÷
並且要求能處理用戶的輸入,並判斷對錯,。
使用 -n 參數控制生成題目的個數,例如執行下面命令將生成10個題目
Myapp.exe -n 10
需求分析
- 1、支持整數四則運算;
- 2、判斷用戶的回答是否正確;
- 3、能夠使用參數控制生成題目的個數。
package test; import static org.junit.Assert.*; import java.math.BigDecimal; import java.util.Random;import java.util.Scanner; import org.junit.Before; import org.junit.Test; public class CalculatorTest { public static void main(String args[]){ Random random=null; System.out.print("請輸入需要生成的題目數量:"); Scanner d = new Scanner(System.in); int n=d.nextInt();while(n>=0){ random=new Random(); int a=random.nextInt(100); int b=random.nextInt(100); int i=a%4; String c=yunSuanFu(i); String result=calculator(a,b,i); System.out.print(a+c+b+"="); d = new Scanner(System.in); String answer=d.next(); if(answer.equals(result)){ System.out.println("回答正確"); }else{ System.out.println("回答錯誤"); } n--; } } private static String calculator(int a1, int b1, int i) { int result = 0; switch(i){ case 0:result=a1+b1;break; case 1:result=a1-b1;break; case 2:result=a1*b1;break; case 3:result=a1/b1;break; } return String.valueOf(result); } public static String yunSuanFu(int i){ switch(i){ case 0:return "+"; case 1:return "-"; case 2:return "*"; case 3:return "/"; } return null; } }
運行測試:
請輸入需要生成的題目數量:6 46*87=1 回答錯誤 9-68=-59 回答正確 24+61=85 回答正確 7/3=2 回答正確 23/98=0 回答正確 77-0=77 回答正確 1-24=-23 回答正確
PSP展示
超簡單四則運算