我正在寻找一种缩短此代码并避免重复代码和if语句的方法。我正在做的是创建一个计算器,该计算器在字符串中搜索运算符“ * /
+-”并相应地执行它们。有任何想法吗?
if (exp.charAt(i) == '*') {
newResult = Integer.parseInt(exp.substring(0, i)) * Integer.parseInt(exp.substring(i + 1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
} else if (exp.charAt(i) == '/') {
newResult = Integer.parseInt(exp.substring(0, i)) / Integer.parseInt(exp.substring(i + 1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
} else if (exp.charAt(i) == '+') {
newResult = Integer.parseInt(exp.substring(0, i)) + Integer.parseInt(exp.substring(i + 1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
} else if (exp.charAt(i) == '-') {
newResult = Integer.parseInt(exp.substring(0, i)) - Integer.parseInt(exp.substring(i + 1, exp.length()));
primeResult = newResult;
System.out.println(primeResult);
}
另外,是否有解决方案来接受带有两个以上操作数的字符串?即5 + 10 * 2/3
要更改代码,可以使用switch语句,并将一些冗余代码放在开关之前或之后。
int left = Integer.parseInt(exp.substring(0,i));
int right = Integer.parseInt(exp.substring(i+1,exp.length()));
switch(exp.charAt(i)){
case '*':
primeResult = left * right;
break;
case '/':
...
break;
case '+':
...
break;
case '-':
...
break;
default:
... // Error Handling.
}
System.out.println(primeResult);
if statements in Smarty have much the same flexibility as php if statements, with a few added features for the . Everyif must be paired with an/if .else andelseif are also permitted. "eq", "ne","neq",
概要 <#if condition> ... <#elseif condition2> ... <#elseif condition3> ... ... <#else> ... </#if> 这里: condition, condition2, 等:将被计算成布尔值的表达式。 elseif 和 else 是可选的。 描述 你可以使用 if, elseif 和 else 指令来条
一个If语句后面跟着一个或多个ElseIf语句,这些语句由布尔表达式组成,然后是一个默认的else语句,当所有条件都变为false时执行。 语法 (Syntax) 以下是VBScript中If Elseif - Else语句的语法。 If(boolean_expression) Then Statement 1 ..... ..... Statement n ElseIf
if语句后面可以跟一个else if...else语句,这对于使用单个if...else if语句测试各种条件非常有用。 语法 (Syntax) if...else if...else语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ } else if boolea
if语句后面可以跟一个else if...else语句,这对于使用单个if...else if语句测试各种条件非常有用。 语法 (Syntax) if...else if...else语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ } else if boolea
主要内容:1. 动作,2. If elseIf 和 else 标签示例,3. struts.xml,4. 示例,参考Struts2 <s:if>, <s:elseif>, <s:else>标签示例用于执行基本的条件检查。这里创建一个Web工程:strut2iftag,来演示在多个复选框如何设置的默认值,整个项目的结构如下图所示: <s:if> 标签可以单独使用。 或使用 <s:elseif> 标签 和/或单/多<s:else>标签。 以上所有的陈述是正确的。让我们看一个例子来说明使用 Strut