gpt4 book ai didi

java - java 表达式运算符的非法开始

转载 作者:行者123 更新时间:2023-12-01 22:05:05 24 4
gpt4 key购买 nike

我正在尝试编写一个计算后缀表达式的程序。我的想法是堆叠操作数,然后在发生运算符时弹出必要的操作数。我试图检查输入是否是操作数是运算符还是操作数,但此开始代码的唯一“if”语句在 || 的第一个实例处返回“错误:表达式的非法开始”。我是否缺少转义字符或其他字符?提前致谢。

public class Evaluate{
char input[] = new char[50];
Stack operands = new Stack();

public string Evaulate(string input){
for (int k = 0; input[k] != null; k++){
char symb = input.charAt[k];
if (symb != (+ || - || * || / || $){
operands.push(symb);
}
}
}
}

最佳答案

首先,条件并不完全如此:

if (symb != (+ || - || * || / || $) ...

您应该首先将它们与字符进行比较,而不是“裸”Java 标记(或$)。

您还应该在每个 || 之间进行完整比较,或者,由于您在此处使用负逻辑来检测非运算符,&&:

if ((symb != '+') && (symb != '-') && ...
<小时/>

您的代码中还有一些我没有提到的其他问题,但这应该可以解决您眼前的问题。

关于java - java 表达式运算符的非法开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com