码迷,mamicode.com
首页 > 其他好文 > 详细

超简单四则运算

时间:2018-04-19 01:56:27      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:case   switch   lse   and   处理   描述   equals   test   else   

题目描述:

从《构建之法》第一章的 “程序” 例子出发,写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

支持加减乘除,运算符为 +, ?, ×, ÷

并且要求能处理用户的输入,并判断对错,。

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

技术分享图片

 

超简单四则运算

标签:case   switch   lse   and   处理   描述   equals   test   else   

原文地址:https://www.cnblogs.com/dengrenning/p/8878729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!