java实现公式解析

本文介绍了如何使用Java编写一个解析程序,以处理包含min、max、add等操作的自定义公式,例如'add(min(5,3),max(2,8),add(1,doubleMe(1)))'。程序能忽略多余的空格并正确计算公式的结果。" 114101277,569322,Scratch编程三级考试判断题解析,"['Scratch编程', '图形化编程三级真题']
摘要由CSDN通过智能技术生成

在某些应用中,为了支持灵活性,往往用到自定义的公式。

比如,有如下的原始公式集合:

int add(int x, int y):  返回x与y的和

int add(int x, int y, int z):  返回x,y,z三个数的和

int min(int x, int y):  返回x,y中较小的值

int max(int x, int y):  返回x,y中较大的值

int doubleMe(int x):  返回 x 的2倍

给出一个自定义公式串

add(min(5,3),max(2,8),add(1,doubleMe(1)))

通过手工计算可以得出结果为:14

本题的任务是:编写一个解析程序,能够对由上述原始公式任意组合出来的公式计算其结果。也就是输入一个自定义公式串,输出它的计算结果(可以不考虑输入公式本身有语法错误的情况)。

输入的公式串中可以含有多余的空格,类似:

add( min(5, 3) , max(2 , 8) ) 也是合法的公式。

程序输入:公式串
程序输出:该公式的计算值

package com.liu.ex2;

import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static Stack<String> operation = new Stack<String>();  //存放运算符
    public static Stack<Character> bracket = new Stack<Character>(); //存放左括号
    public static Stack<Integer> number =
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值