Create an application class called Calculator wit h the following members: Metho
ID: 3916124 • Letter: C
Question
Create an application class called Calculator wit h the following members: Methods: static int addition (int firstNumber, int secondNumber) Returns firstNumber secondNumber static int subtraction (int firstNumber, int secondNumber) Returns firstNumber - secondNumber . static int multiplication (int firstNumber, int secondNumber) Returns firstNumber* secondNumber static int quotient (int firstNumber, int secondNumber) Returns firstNumber / secondNumber . static void main(String[l args) Asks for two integer numbers and an operator (+, - *, /). Then shows the result according to the input numbers and the operator. Use exception handling to process any ArithmeticExceptions and InputMistMachExceptions that arise.Explanation / Answer
program:-
import java.util.Scanner;
import java.util.InputMismatchException;
public class Calculator
{
public static void main(String[] args) throws InputMismatchException, ArithmeticException
{
Scanner s = new Scanner(System.in); //scanner for read input
int ans=0,firstNumber=0,secondNumber=0;
char choice='';
try
{
System.out.println("Please enter first integer number: ");
firstNumber = s.nextInt(); //read first number
System.out.println("Please enter second integer number: ");
secondNumber = s.nextInt(); //read second number
System.out.println("Please enter an operator: ");
choice = s.next().charAt(0); //read first char i.e., +,-,*,/
switch (choice) //operation according to our choice
{
case '+':
ans= addition(firstNumber,secondNumber);
break;
case '-':
ans=subtraction(firstNumber, secondNumber);
break;
case '/':
ans=division(firstNumber, secondNumber);
break;
case '*':
ans=multiplication(firstNumber, secondNumber);
break;
default:
break;
}
if(ans!=9999) //print answer if answer not equal to infinity i.e., 9999
System.out.println("Result: "+firstNumber+" "+choice+" "+secondNumber+" = "+ans);
}
catch(InputMismatchException e) //exception for InputMismatchException for first number and second number
{
System.out.println(e);
System.out.println("You must enter integers...");
}
}
//implementation of individual methods with exception handling and return results
static int addition(int firstNumber, int secondNumber)
{
int ans=0;
try
{
ans = firstNumber+secondNumber;
}
catch(ArithmeticException e)
{
System.out.println(e);
}
return ans;
}
static int subtraction(int firstNumber, int secondNumber)
{
int ans=0;
try
{
ans = firstNumber-secondNumber;
}
catch(ArithmeticException e)
{
System.out.println(e);
}
return ans;
}
static int division(int firstNumber, int secondNumber)
{
int ans=0;
try
{
ans = firstNumber/secondNumber;
}
catch(ArithmeticException e)
{
System.out.println(e);
return 9999;
}
return ans;
}
static int multiplication(int firstNumber, int secondNumber)
{
int ans=0;
try
{
ans=firstNumber*secondNumber;
}
catch(ArithmeticException e)
{
System.out.println(e);
}
return ans;
}
}
output:--
1
run:
Please enter first integer number:
6
Please enter second integer number:
0
Please enter an operator:
/
java.lang.ArithmeticException: / by zero
BUILD SUCCESSFUL (total time: 7 seconds)
2
run:
Please enter first integer number:
6
Please enter second integer number:
3
Please enter an operator:
+
Result: 6 + 3 = 9
BUILD SUCCESSFUL (total time: 4 seconds)
3
run:
Please enter first integer number:
7
Please enter second integer number:
8
Please enter an operator:
*
Result: 7 * 8 = 56
BUILD SUCCESSFUL (total time: 5 seconds)
4
run:
Please enter first integer number:
6
Please enter second integer number:
?
java.util.InputMismatchException
You must enter integers...
BUILD SUCCESSFUL (total time: 6 seconds)
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.