Я пытаюсь создать программу, которая действует как простой калькулятор.Я пытаюсь попросить пользователя ввести тип расчета, который он хочет выполнить, и какое число он хочет вычислить, и он может продолжать повторять вычисления столько, сколько пожелает.
Я полагаю, что у меня естьвесь код требуется, но у меня возникают проблемы при попытке получить переменную для расчета.У меня также возникают проблемы с циклами, когда он ловит исключение, он выдает ошибку, когда его ловят.У меня возникают трудности при попытке решить эти проблемы.Любая помощь или советы с благодарностью!
import java.util.Scanner;
import java.util.InputMismatchException;
public class GetDouble {
public static double NewNumber;
public static int z=1;
public static int a=1;
static Scanner Input = new Scanner( System.in );
public static double GetDoubleNumber (double GetDouble)
{
do {
try{
System.out.println("Please enter a number for the calculation.");
double NewNumber = Input.nextDouble();
a=2;
}
catch(InputMismatchException e) {
System.out.println("Please enter a number. ");
a=1;
}
}while(a==1);
return NewNumber;
}
public static double DivideTwoNumbers (double Result, double NewNumber, double NewResult)
{
do {
try{
GetDoubleNumber(NewNumber);
NewResult = Result / NewNumber;
z=2;
}
catch(InputMismatchException e) {
System.out.println("Please enter a number, the number can not be 0 when dividing. ");
}
}while(z==1);
return NewResult;
}
}
//Driver Class
import java.util.Scanner;
public class SimpleCalculator extends GetDouble{
static Scanner Input = new Scanner( System.in );
public static double Result = 0.0;
public static double NewResult;
public static double NewNumber;
public static int y=1;
public static int z=1;
public static void main (String[] args) {
do {
System.out.println("Enter the type of calculation. (Examples: +, -, *, or /) ");
String Calculation = Input.nextLine();
do {
switch (Calculation.charAt(0)) {
case '+':
GetDoubleNumber(NewNumber);
NewResult = Result + NewNumber;
System.out.println("New Result: " + NewResult);
z=2;
break;
case '-':
GetDoubleNumber(NewNumber);
NewResult = Result - NewNumber;
System.out.println("New Result: " + NewResult);
z=2;
break;
case '*':
GetDoubleNumber(NewNumber);
NewResult = Result * NewNumber;
System.out.println("New Result: " + NewResult);
z=2;
break;
case '/':
DivideTwoNumbers (Result, NewNumber, NewResult);
System.out.println("New Result: " + NewResult);
z=2;
break;
default:
System.out.println("Please enter the type of calculation. (Examples: +, -, *, or /) ");
z=1;
}
}while(z==1);
System.out.println("Enter 'Yes' to continue calculation \n "
+ "or 'Result' to see calculation result.");
String Answer = Input.nextLine();
if(Answer.charAt(0) == 'Y' || (Answer.charAt(0) == 'y'))
{
y=1;
}
if(Answer.charAt(0) == 'R' || (Answer.charAt(0) == 'r'))
{
System.out.println("Calculation result: " + Result);
System.exit(0);
}
else
{
System.out.println("Please enter 'Yes' to continue calculation \n"
+ "or 'Result' to see calculation result.");
}
}while(y==1);
}
}