输入数学表达式并计算出结果(包括小数)

来源:互联网 发布:sql server dba 编辑:程序博客网 时间:2024/04/28 15:50

输入数学表达式并计算出结果(包括小数)

萨达斯

要求如下:

/**
 * 输入一个数学计算表达式,如:1+2
 * 然后输出计算后的结果:1+2=3
 * 这里计算表达式只计算一次即可,可以使用加减乘除任意一个,可以进行小数运算。
 */

代码如下:

public class Test07 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入算式:");String input = scan.nextLine();//接收数据int index = -1;if((index=input.indexOf("+"))>0){//加法运算double[] result=check(input,index);//double num1 = Double.parseDouble(input.substring(0, index));//double num2 = Double.parseDouble(input.substring(index+1));System.out.println(input + "=" + (result[0]+result[1]));}else if((index=input.indexOf("-"))>0){//减法运算double[] result=check(input,index);//double num1 = Double.parseDouble(input.substring(0, index));//double num2 = Double.parseDouble(input.substring(index+1));System.out.println(input + "=" + (result[0]-result[1]));}else if((index=input.indexOf("*"))>0){//减法运算double[] result=check(input,index);//double num1 = Double.parseDouble(input.substring(0, index));//double num2 = Double.parseDouble(input.substring(index+1));System.out.println(input + "=" + (result[0]*result[1]));}else if((index=input.indexOf("/"))>0){//减法运算double[] result=check(input,index);//double num1 = Double.parseDouble(input.substring(0, index));//double num2 = Double.parseDouble(input.substring(index+1));if(result[1] == 0){System.out.println("除数为0,输入错误");}else{System.out.println(input + "=" + (result[0]/result[1]));}}}//可以封装方法public static double[] check(String input,int index){double[] result = new double[2];result[0] = Double.parseDouble(input.substring(0,index));result[1] = Double.parseDouble(input.substring(index+1));return result;}}

输出结果为:

请输入算式:2.5/2.62.5/2.6=0.9615384615384615


0 0
原创粉丝点击