波兰表达式

Java输入字符串时next()和nextLine()的区别:
1.next()是在输入的一行中,到第一个空格为止,作为本次要输入的字符串,比如我可能输入“I am a girl.”,其实只会存储“I”;
2.nextLine()是在输入的一行中,到回车为止,作为本次输入的字符串(包括空格);
波兰表达式:
样例输入:* + 11.0 12.0 + 24.0 35.0
样例输出:1357.000000

import java.util.*;
public class Main 
{	
	//定义一个数组进行存储
	static String[] arr;
	static int i = -1;
	//进行判断
		private static double exp() {
			i++;
			switch (arr[i]) {
			case "+":
				return exp() + exp();
			case "-":
				return exp() - exp();
			case "*":
				return exp() * exp();
			case "/":
				return exp() / exp();
			default:
				return Double.parseDouble(arr[i]);
			}
		}
 
	//测试代码
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		Main m = new Main();
		String str1 = sc.nextLine();
		 arr = str1.split(" ");
		//输出答案
		System.out.println(m.exp());
	}
}
 
原文地址:https://www.cnblogs.com/cznczai/p/11149945.html