我正在尋找如何使我的程序正確運行的答案。我想我的程序能夠識別增加了一倍其他的事情---比如,如果我放在IDK的它會說,這不是一個數量,而不是崩潰。驗證基本計算器程序中的輸入
我的代碼:
import java.util.*;
public class CalculatorMain {
public static void main(String[] args) {
FunctionMain action = new FunctionMain();
Scanner input = new Scanner(System.in);
double answer = 0;
double inputNu1, inputNu2;
char operator;
boolean end = false;
while (! end) {
System.out.print(">>>");
inputNu1 = input.nextDouble();
operator = input.next().charAt(0);
inputNu2 = input.nextDouble();
switch (operator)
{
case '-': answer = action.Subtract(inputNu1, inputNu2);
break;
case '*': answer = action.Multiply(inputNu1, inputNu2);
break;
case '+': answer = action.Add(inputNu1, inputNu2);
break;
case '/': answer = action.Divide(inputNu1, inputNu2);
break;
}
System.out.println(answer);
}
input.close();
}
}
public class FunctionMain {
double Subtract (double Nu1 , double Nu2)
{
return Nu1 + Nu2;
}
double Multiply (double Nu1 , double Nu2)
{
return Nu1 * Nu2;
}
double Add (double Nu1 , double Nu2)
{
return Nu1 + Nu2;
}
double Divide (double Nu1 , double Nu2)
{
return Nu1/Nu2;
}
}
當你進入比其他一些正確的東西你得到異常?你知道Java中的異常是如何工作的嗎?或者,Scanner有一個名爲'hasNextDouble()'的方法:http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextDouble() – thatidiotguy 2014-10-20 16:57:09
我不知道你的意思當你說「例外」時。當我根據預期將雙打輸入時,沒有問題,但是字母會使它崩潰。我正在考慮使用Do While語句。這是否有意義? – Integral 2014-10-20 17:02:58