所以我正在使用java为类创建一个基本的计算器,它将向用户询问2个数字然后会询问他们想要什么样的计算。它有效,但不是我想要的,我没有耐心试图弄清楚这些方法。刚开始学习它们的方式。
好的,我需要保持的是我想告诉用户它的坏数学除以0并且他需要改变他的数字。但是,如果他输入0作为其中一个数字,我如何得到提示?
例如,这是我的部门代码片段:
public static float divide(float num1, float num2){
if ((num1 == 0) || (num2 == 0)){
JOptionPane.showMessageDialog(null, "numbers cannot be divisible by 0");
//I would like to give the user an option here to change his numbers to something else.
return 0;}
else
return num1 / num2;
请帮忙。
package assignment4_main;
import javax.swing.JOptionPane;
public class Assignment4_Main {
public static void main(String[] args) {
float result;
float num1 = Float.parseFloat(JOptionPane.showInputDialog(null, "Enter first number: ", "Calculator" , JOptionPane.QUESTION_MESSAGE));
float num2 = Float.parseFloat(JOptionPane.showInputDialog(null, "Enter second number: ", "Calculator", JOptionPane.QUESTION_MESSAGE));
int userInput = Integer.parseInt(JOptionPane.showInputDialog(null, "What would you like to do with these numbers?\n" + "1- Add 2- Subtract 3- Multiply 4- Divide 5- Quit", "Calculator", JOptionPane.QUESTION_MESSAGE));
switch(userInput){
case 1:
{result = add(num1, num2);
JOptionPane.showMessageDialog(null, "Addition = " + result);
break;}
case 2:
{result = subtract(num1, num2);
JOptionPane.showMessageDialog(null, "Subtraction = " + result);
break;}
case 3:
{result = multiply(num1, num2);
JOptionPane.showMessageDialog(null, "Multiplication = " + result);
break;}
case 4:
{result = divide(num1, num2);
JOptionPane.showMessageDialog(null, "Division = " + result);
break;}
case 5:
break;
}
}
public static float add(float num1, float num2){
return num1 + num2;
}
public static float subtract(float num1, float num2){
return num1 - num2;
}
public static float multiply(float num1, float num2){
return num1 * num2;
}
public static float divide(float num1, float num2){
if ((num1 == 0) || (num2 == 0)){
JOptionPane.showMessageDialog(null, "numbers cannot be divisible by 0");
return 0;}
else
return num1 / num2;
}
}
答案 0 :(得分:1)
当然,还有更优雅的解决方案,但是这个解决方案可以帮助您:
public static void main(String[] args) {
int number;
while (true) {
Object[] message = {"Input some number that is not 0: "};
String numberString = JOptionPane.showInputDialog(null, message, "Add New", JOptionPane.OK_CANCEL_OPTION);
try {
number = Integer.parseInt(numberString);
} catch (NumberFormatException e) {
continue;
}
if (number != 0) {
break;
}
}
System.out.println(number);
}