超简单四则运算
题目描述:
从《构建之法》第一章的 “程序” 例子出发,写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:
支持加减乘除,运算符为 +, −, ×, ÷
并且要求能处理用户的输入,并判断对错,。
使用 -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展示