超简单四则运算

Posted dengrenning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超简单四则运算相关的知识,希望对你有一定的参考价值。

题目描述:

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

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

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

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

技术分享图片

 




以上是关于超简单四则运算的主要内容,如果未能解决你的问题,请参考以下文章

十个html5代码片段,超实用,一定要收藏

超简单四则运算

LeetCode 1829. 每个查询的最大异或值 Java位运算(超简单的思路)

LeetCode 1829. 每个查询的最大异或值 Java位运算(超简单的思路)

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。