gpt4 book ai didi

java - 在 Java 中用空格分隔运算符和操作数

转载 作者:行者123 更新时间:2023-11-30 08:02:00 25 4
gpt4 key购买 nike

比如我有

String str = "1+2*-3/4-5"

我想格式化我的字符串 str 并将其存储到一个新的字符串 newStr这样我的 newStr 的值为

1 + 2 * -3 / 4 - 5

到目前为止我所做的产生了这个输出

1 + 2 * - 3 / 4 - 5

使用这段代码

for(int i =0; i < str.length(); i++) {
perChar = str.charAt(i);
if(perChar == '+' || perChar == '-' || perChar == '*' || perChar == '/'){
newStr+= " "+perChar+" ";
continue;
}
str+=perChar;

}

最佳答案

在此处使用您的代码可以解决您的问题,只需检查一个操作数前面是否有另一个操作数,如果是这种情况则不要添加空格。

    String str = "1+2*-3/4-5";
String newStr = "";

for(int i = 0; i < str.length(); i++) {

char perChar = str.charAt(i);

if(perChar == '+' || perChar == '-' || perChar == '*' || perChar == '/'){
if(str.charAt(i-1) == '+' || str.charAt(i-1) == '-' || str.charAt(i-1) == '*' || str.charAt(i-1) == '/'){
newStr = newStr + perChar;
} else {
newStr = newStr + perChar + " ";
}
} else {
newStr = newStr + perChar + " ";
}
}
System.out.println(newStr);

如果您想实现一个计算器,您应该考虑将操作数存储在数据结构中以便于访问,例如数组。

并考虑将您的表达式从中缀转换为 postfix因为这可能对您有用。

关于java - 在 Java 中用空格分隔运算符和操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37222013/

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