Java 如果某个案例为真,我如何告诉我的程序忽略某条指令?
我是一个非常初级的java编码器,我正在使用swing编写一个简单的计算器,我想在操作符中实现平方根。我希望它是这样的,在运算符是平方根的情况下,计算器不会要求第二个数字Java 如果某个案例为真,我如何告诉我的程序忽略某条指令?,java,swing,Java,Swing,我是一个非常初级的java编码器,我正在使用swing编写一个简单的计算器,我想在操作符中实现平方根。我希望它是这样的,在运算符是平方根的情况下,计算器不会要求第二个数字 package swingcalculator; import javax.swing.JOptionPane; public class SwingCalculator { public static void main(String[] args) { double
package swingcalculator;
import javax.swing.JOptionPane;
public class SwingCalculator {
public static void main(String[] args) {
double num1, num2, answer;
String operator;
num1 = Integer.parseInt(JOptionPane.showInputDialog("Enter your first number:"));
operator = JOptionPane.showInputDialog("Enter your operator (+ , - , * , /, ^, sqrt):");
num2 = Integer.parseInt(JOptionPane.showInputDialog("Enter your second number number:"));
switch(operator) {
case "+":
answer = num1 + num2;
break;
case "-":
answer = num1 - num2;
break;
case "*":
answer = num1 * num2;
break;
case "/":
answer = num1 / num2;
break;
case "sqrt":
answer = Math.sqrt(num1);
break;
case "^":
answer = Math.pow(num1, num2);
break;
default:
System.out.println("You have entered an invalid operator");
return;
}
if (Boolean.parseBoolean(operator) == Boolean.parseBoolean("sqrt")){
JOptionPane.showMessageDialog(null, "Square root of " + num1 + " = " + answer);
}
else{
JOptionPane.showMessageDialog(null, num1 + " " + operator + " " + num2 + " = " + answer);
}
}
任何帮助都将不胜感激
operator = JOptionPane.showInputDialog("Enter your operator (+ , - , * , /, ^, sqrt):");
if(!operator.equals("sqrt"){
num2 = Integer.parseInt(JOptionPane.showInputDialog("Enter your second number number:"));
}
仅当运算符不是“sqrt”时,才读取第二个数字,但是您的程序似乎有许多异常,正如其他人在评论中向您建议的那样将所有内容放在条件中的
运算符=
行之后(您还可以将JOptionPane.showMessageDialog
行移动到条件语句的相应块中,因为您不需要再次检查运算符
):
您希望
Boolean.parseBoolean(“sqrt”)
返回什么?为什么?我怀疑您的意思是if(operator.equals(“sqrt”))
而不是使用Boolean.parse
。我会改为这样做,谢谢。你知道在那种情况下如何跳过要求第二个数字的程序吗?我想你需要的是修改if条件。你可以编写if(operator.equalsIgnoreCase(“sqrt”))谢谢你的帮助!
operator = JOptionPane.showInputDialog("Enter your operator (+ , - , * , /, ^, sqrt):");
if (!operator.equals("sqrt")) {
num2 = Integer.parseInt(JOptionPane.showInputDialog("Enter your second number number:"));
switch (...) { ... }
JOptionPane.showMessageDialog(null, num1 + " " + operator + " " + num2 + " = " + answer);
} else {
JOptionPane.showMessageDialog(null, "Square root of " + num1 + " = " + answer);
}