gpt4 book ai didi

java - 使用循环读取数学表达式,分隔数字

转载 作者:行者123 更新时间:2023-12-01 12:59:30 25 4
gpt4 key购买 nike

我正在尝试使用堆栈结构将中缀表达式转换为后缀表达式。有没有办法使用 for 循环从输入字符串中读取数字?

例如,如果输入是(23+9)*2。我开发了一种方法来检查 charAt(i) 是否为 +、-、* 或/。我检查了第一个字符“(”并将其插入堆栈。然后我想将 23 作为一个数字读取,并将其添加到字符串后缀中。 If ( ! isOperator(charAt(i)),那我该怎么办?如何使用循环来完成?非常感谢!

for (int j=0;j<input.length();j++){
char ch= input.charAt(j);
if(!isOperator){
if (ch=='('){
s.push();

}else{//if it's a number i.e.23, it should be attached to string post as 23, instead of 2 and 3,

最佳答案

您可能需要一个StringBuilder来添加字符:

StringBuilder builder = new StringBuilder();
for (int j=0;j<input.length();j++){
char ch= input.charAt(j);
if(!isOperator(ch)){
if (ch=='('){
// process contents of builder.toString(), if any, then reset builder
s.push();
} else {
builder.append(ch);
}
} else {
// process contents of builder.toString(), if any, then reset builder
}

关于java - 使用循环读取数学表达式,分隔数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23627455/

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