java如何实现加减乘除

 废话不多说,直接上代码!

//package 一般测试题;

import java.util.Scanner;
/*  *  *   
要求在控制台输入一个计算表达式加减乘除  * 
 例如: 1+2  *  则答案输出3    
关于subString方法的介绍:自己去看官方给的API或者源码  */

public class Work02 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入数学表达式;");
        String str = scan.next();
        String str1 = "[0-9]+";
        String str2 = "[\\+\\*/-]";
        String[] arr = str.split(str2);
        for (int i = 0; i < arr.length; i++)
            if (!arr[i].matches(str1)) {
                System.out.println("不符合数学表达式");
                return;
            }
        if (str.indexOf("+") > 0) Change(str.indexOf("+"), str, 1);
        if (str.indexOf("-") > 0) Change(str.indexOf("-"), str, 2);
        if (str.indexOf("/") > 0) Change(str.indexOf("/"), str, 3);
        if (str.indexOf("*") > 0) Change(str.indexOf("*"), str, 4);
    }

    public static void Change(int m, String str3, int n) {
        int a = Integer.parseInt(str3.substring(0, m));
        int b = Integer.parseInt(str3.substring(m + 1));
        int result = 0;
        switch (n) {
            case 1:
                result = a + b;
                System.out.println("加法的最后结果" + result);
                break;
            case 2:
                result = a - b;
                System.out.println("减法的最后的结果" + result);
                break;
            case 3:
                result = a / b;
                System.out.println("除法的最后结果" + result);
                break;
            case 4:
                result = a * b;
                System.out.println("乘法的最后结果" + result);
                break;
        }
    }
} 

 

你可能感兴趣的:(初级篇---Java)