1. 程式人生 > >超簡單四則運算

超簡單四則運算

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展示

技術分享圖片

超簡單四則運算