Я ищу ответ на вопрос, как правильно запустить программу. Я хочу, чтобы моя программа распознавать другие чем в два раза вещи --- например, если я помещен в ИДК было бы сказать, , что не является числом, а не сбой.Java Validating Input в базовой программе калькулятора
мой код:
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? Кроме того, у Сканера есть метод, называемый 'hasNextDouble()': http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextDouble() – thatidiotguy
Я не знаю, что вы имеете в виду когда вы говорите «исключения». Когда я помещаю ввод с удвоениями, как предполагалось, нет проблем, но буквы приводят к его сбою. Я думал об использовании инструкции Do While. Чувствует ли это? – Integral