代码根据表达式 a [sign] b 计算结果。 可能的操作:+ - *。我可以在不使用条件 if 的情况下解决这个练习吗?
String result = "3 + 6 = ";
String result = outputStream.toString();
String[] resultArray = result.split(" ");
Integer first = Integer.parseInt(resultArray[0]);
Integer second = Integer.parseInt(resultArray[2]);
String opp = resultArray[1];
if("+".equals(opp)){
System.out.println(String.format("%d %s %d = %d", first, opp, second, first + second));
}
else if("-".equals(opp)){
System.out.println(String.format("%d %s %d = %d", first, opp, second, first - second));
}
else if("*".equals(opp)){
System.out.println(String.format("%d %s %d = %d", first, opp, second, first * second));
}
最佳答案
另一种方法是使用 switch-case:
switch (opp.charAt(0)) {
case '+':
System.out.println(String.format("%d %s %d = %d", first, opp,
second, first + second));
break;
case '-':
System.out.println(String.format("%d %s %d = %d", first, opp,
second, first - second));
break;
case '*':
System.out.println(String.format("%d %s %d = %d", first, opp,
second, first * second));
break;
}
关于java - 如何在没有 if 的情况下从字符串操作 a [sign] b 转换。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21509969/