Task - Spring - Calculator App #31
Replies: 27 comments 3 replies
Bean Classpackage com.spring.apps.calculator.beans.arithmeticoperations;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public BasicArithmeticOperations() {
}
public BasicArithmeticOperations(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public void add() {
System.out.println("Addition of two numbers is " + (num1 + num2));
}
public void subract() {
if (num1 >= num2)
System.out.println("Difference of two numbers is " + (num1 - num2));
else
System.out.println("Difference of two numbers is " + (num2 - num1));
}
public void multiply() {
System.out.println("Multiplication of two numbers is " + (num1 * num2));
}
public void divide() {
try {
System.out.println("Division of two numbers " + (num1 / num2));
} catch (ArithmeticException e) {
System.out.println("Arithmetic Exception : / by zero operation performed");
}
}
}Driver Classpackage com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations;
public class CalculatorApplication {
public static void main(String[] args) {
// Initializing the Application context with the xml file
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println("Welcome to Spring UseCase - Basic Arithmetic Operations");
// Bean - BAO1
// load the bean from the xml file
BasicArithmeticOperations operations = (BasicArithmeticOperations) context.getBean("BAO1");
System.out.println(operations);
// read the input from the user
String inputOperation = readInputOperation();
// perform the operation based on operand entered
performOperation(inputOperation, operations);
// Bean - BAO2
// load the bean from the xml file
operations = (BasicArithmeticOperations) context.getBean("BAO2");
System.out.println(operations);
// read the input from the user
inputOperation = readInputOperation();
// perform the operation based on operand entered
performOperation(inputOperation, operations);
// Bean - BAO3
// load the bean from the xml file
operations = (BasicArithmeticOperations) context.getBean("BAO3");
System.out.println(operations);
// read the input from the user
inputOperation = readInputOperation();
// perform the operation based on operand entered
performOperation(inputOperation, operations);
context.close();
}
static String readInputOperation() {
System.out.print("Enter the arithmetic operation symbol you want to perform : ");
Scanner scanner = new Scanner(System.in);
String operand = scanner.next();
return operand;
}
static void performOperation(String operand, BasicArithmeticOperations operations) {
switch (operand) {
case "+":
operations.add();
break;
case "-":
operations.subract();
break;
case "*":
operations.multiply();
break;
case "/":
operations.divide();
break;
default:
System.out.println("Entered symbol for Arithmetic operation is Invalid");
break;
}
System.out.println();
}
}Application Context Configuration<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="BAO1"
class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg type="int" index="0" value="12"></constructor-arg>
<constructor-arg type="int" index="1" value="10"></constructor-arg>
</bean>
<bean id="BAO2"
class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg type="int" index="0" value="12"></constructor-arg>
<constructor-arg type="int" index="1" value="15"></constructor-arg>
</bean>
<bean id="BAO3"
class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg type="int" index="0" value="12"></constructor-arg>
<constructor-arg type="int" index="1" value="0"></constructor-arg>
</bean>
</beans>ScreenShot |
Bean Classpublic class BasicArithmeticOperations {
private int num1;
private int num2;
public BasicArithmeticOperations() {
super();
}
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public void addNum() {
System.out.println("Addition of Two Numbers will be "+(num1+num2));
}
public void subtractNum() {
if (num1>num2) {
System.out.println("Subtraction of Two Numbers will be "+(num1-num2));
}else {
System.out.println(num2-num1);
}
}
public void multipleNum() {
System.out.println("Multiplication of Two Numbers will be "+(num1*num2));
}
public void divideNum() {
try {
int num=num1/num2;
System.out.println("Division of Two Numbers will be "+num);
}catch(ArithmeticException e) {
System.out.println("ArithmeticException Occured!!");
}
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
}Driver Classpublic class Application {
public static void main(String[]args) {
AbstractApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");
context.start();
BasicArithmeticOperations bao=(BasicArithmeticOperations) context.getBean("operation1");
Scanner scanner = new Scanner(System.in);
String operation= scanner.next();
switch(operation) {
case "+":
bao.addNum();
break;
case "-":
bao.subtractNum();
break;
case "*":
bao.multipleNum();
break;
case "/":
bao.divideNum();
break;
default:
System.out.println("Is Not a Arthmetic Operation");
}
context.close();
}
}Application Context Configuration<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="operation1" class="com.spring.apps.calculator.BasicArithmeticOperations">
<constructor-arg index="0" value="24"></constructor-arg >
<constructor-arg index="1" value="12"></constructor-arg >
</bean>
</beans> |
BeansBasic Arithmetic Operationspackage com.spring.apps.calculator.arithmeticoperations;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public void add() {
System.out.println(num1 + num2);
}
public void subtract() {
if (num1 >= num2)
System.out.println(num1 - num2);
else
System.out.println(num2 - num1);
}
public void multiply() {
if (num1 == 0 || num2 == 0)
System.out.println("0");
System.out.println(num1 * num2);
}
public void divide() {
try {
System.out.println(num1 / num2);
} catch (ArithmeticException e) {
System.out.println("Dividing by zero operation is not possible");
}
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
}Main Applicationpackage com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.arithmeticoperations.BasicArithmeticOperations;
public class MainApp {
public static void main(String[] args) {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
BasicArithmeticOperations basicOperations = context.getBean("basicArithmeticOperations",
BasicArithmeticOperations.class);
Scanner scanner = new Scanner(System.in);
System.out.print("Enter preferred Operation: ");
String input = scanner.next();
switch (input) {
case "+":
System.out.println("Opeartion to be performed : " + input + " - Addition");
basicOperations.add();
break;
case "-":
System.out.println("Opeartion to be performed : " + input + " - Subtraction");
basicOperations.subtract();
break;
case "*":
System.out.println("Opeartion to be performed : " + input + " - Multiplication");
basicOperations.multiply();
break;
case "/":
System.out.println("Opeartion to be performed : " + input + " - Division");
basicOperations.divide();
break;
default:
System.out.println("Invalid Operation Entered");
}
System.out.println(basicOperations);
context.close();
}
}Application Context<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id = "basicArithmeticOperations" class = "com.spring.apps.calculator.arithmeticoperations.BasicArithmeticOperations">
<property name = "num1" value = "24"></property>
<property name="num2" value = "12"></property>
</bean>
</beans>
Screenshot |
|
//Visweshwaran M BeanBasicArithmeticOperations.javapublic class BasicArithmeticOperations {
private int num1;
private int num2;
/**
* Constructors
*/
public BasicArithmeticOperations(){
}
public BasicArithmeticOperations(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
/**
* Arithmetic Methods
* @return
*/
public int add() {
System.out.println("Performing Add Operation on " + this.num1 + " and "+ this.num2);
return num1 + num2;
}
public int subtract() {
System.out.println("Performing Subtract Operation on " + this.num1 + " and "+ this.num2);
return num1 - num2;
}
public int multiply() {
try {
System.out.println("Performing Multiply Operation on " + this.num1 + " and "+ this.num2);
return this.num1 * this.num2;
}catch (Exception e){
System.err.println(e.getMessage()+ " Exception occurred while executing Multiply Operation.");
return 0;
}
}
public int divide(){
try {
System.out.println("Performing Divide Operation on " + this.num1 + " and "+ this.num2);
return this.num1 / this.num2;
}catch (Exception e){
System.err.println(e.getMessage()+ " Exception occurred while executing Divide Operation.");
}
return 0;
}
@Override
public String toString() {
return new StringJoiner(", ", BasicArithmeticOperations.class.getSimpleName() + "[", "]")
.add("num1=" + num1)
.add("num2=" + num2)
.toString();
}
}DriverApplication.javapublic class Application {
public static void main(String[] args) {
System.out.println("Application.main Started");
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
BasicArithmeticOperations arithmeticOperations = context.getBean("basicArithmeticOperations", BasicArithmeticOperations.class);
System.out.print(new StringJoiner("\n","\t","\n\n Enter your number here: ")
.add("Dear User, Please enter any of the below number to perform a Math Operation.")
.add("1. Add").add("2. Subtract").add("3. Multiply").add("4. Divide").toString());
switch (new Scanner(System.in).nextLine()){
case "1" -> System.out.println("Result for Add operation is: \t" + arithmeticOperations.add());
case "2" -> System.out.println("Result for Subtract operation is: \t" + arithmeticOperations.subtract());
case "3" -> System.out.println("Result for Multiply operation is: \t" + arithmeticOperations.multiply());
case "4" -> System.out.println("Result for Divide operation is: \t" + arithmeticOperations.divide());
default -> System.err.println("Invalid Input. Please enter proper value.\n");
};
context.close();
}
}Application Context Configuration<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="basicArithmeticOperations" class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="10"></constructor-arg>
<constructor-arg index="1" value="0"></constructor-arg>
</bean>
</beans>
Screenshots |
|
//Ramprasad |
|
applicationContext.xml <beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="basicAO1" class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="100"></constructor-arg>
<constructor-arg index="1" value="20"></constructor-arg>
</bean>
<bean id="basicAO2" class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="10"></constructor-arg>
<constructor-arg index="1" value="0"></constructor-arg>
</bean>
<bean id="basicAO3" class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="0"></constructor-arg>
<constructor-arg index="1" value="10"></constructor-arg>
</bean>
</beans> BasicArithmeticOperations.java package com.spring.apps.calculator.beans.arithmeticoperations;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
//Constructors
public BasicArithmeticOperations() {};
public BasicArithmeticOperations(int num1,int num2) {
this.num1 = num1;
this.num2 = num2;
}
//Methods
public void add() {
System.out.println("The Addition Of Two Numbers (" + num1 +"+"+num2+ ") is: "+ (num1+num2) );
}
public void subtract() {
if(num1>=num2) {
System.out.println("The Subtarction Of Two Numbers (" + num1 +"-"+num2+ ") is: "+ (num1-num2) );
}else {
System.out.println("The Subtarction Of Two Numbers (" + num2 +"-"+num1+ ") is: "+ (num2-num1) );
}
}
public void multiply() {
System.out.println("The Multiplication Of Two Numbers (" + num1 +"*"+num2+ ") is: "+ (num1*num2) );
}
public void divide() {
try {
System.out.println("The Division Of Two Numbers (" + num1 +"/"+num2+ ") is: "+ (num1/num2) );
}catch(ArithmeticException e) {
System.out.println("Dividing by zero operation is not possible");
}
}
public void modulo() {
System.out.println("The Modulo Of Two Numbers (" + num1 +"%"+num2+ ") is: "+ (num1%num2) );
}
@Override
public String toString() {
return "Arithmetic Operations[Number1="+num1+" ,Number2="+num2+"]";
}
}MainApp.java package com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations;
public class MainApp {
public static void main(String[] args) {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");//Launches the Application
System.out.println("Our Spring Calculator App Starts!!");
BasicArithmeticOperations basicArithOpera = context.getBean("basicAO1",BasicArithmeticOperations.class);
System.out.println(basicArithOpera);
char operator;
Scanner sc = new Scanner(System.in);
do {
System.out.println("-------------------------------------------------------------------");
System.out.println("Please select any ARITHMETIC OPERATOR You wish!");
System.out.println("Please enter the Correct Operator from ( +, -, *, /, % )");
//System.out.println("Select '&' for exit!");
operator = sc.next().charAt(0);
switch (operator) {
case '+':
basicArithOpera.add();
break;
case '-':
basicArithOpera.subtract();
break;
case '*':
basicArithOpera.multiply();
break;
case '/':
basicArithOpera.divide();
break;
case '%':
basicArithOpera.modulo();
break;
case '&':System.exit(0);
break;//no need for this
default:
System.out.println("You have entered the Wrong operator");
System.out.println("Please enter the Correct operator such as +, -, *, /, %");
break;
}
}
while (operator == '+' || operator == '-' || operator == '*' || operator == '/' || operator == '%' || operator == '&');
sc.next();
sc.close();
context.close();//Shut Down the App
}
} |
BeanData.javapackage com.spring.calculator;
public class Data {
private int num1;
private int num2;
private char op;
public Data() {
super();
}
public Data(int num1, int num2, char op) {
super();
this.num1 = num1;
this.num2 = num2;
this.op = op;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public char getOp() {
return op;
}
public void setOp(char op) {
this.op = op;
}
}Operations.javapackage com.spring.calculator;
public class Operations {
private Data data;
public Operations() {
super();
}
public Operations(Data data) {
super();
this.data = data;
}
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
public int Calculation() {
switch(data.getOp()) {
case '+':
return data.getNum1()+data.getNum2();
case '-':
return data.getNum1()-data.getNum2();
case '/':
if(data.getNum2() != 0)
return data.getNum1()/data.getNum2();
else {
System.out.println("second number can't be negative!");
return Integer.MIN_VALUE;
}
case '*':
return data.getNum1()*data.getNum2();
default:
System.out.println("Invalid operation");
return Integer.MIN_VALUE;
}
}
}Driver ClassClaculatorApp.javapackage com.spring.calculator;
import java.util.Scanner;
import org.springframework.beans.BeansException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class CalculatorApp {
public static void main(String[] args) {
try (var context = new ClassPathXmlApplicationContext("applicationContext.xml");
Scanner scan = new Scanner(System.in);) {
// Getting Beans
Data data = context.getBean("data",Data.class);
Operations operation = context.getBean("operations",Operations.class);
// taking first input
System.out.print("Enter First Number : ");
data.setNum1(Integer.parseInt(scan.nextLine()));
// taking operator
System.out.print("Enter Operator : ");
data.setOp(scan.nextLine().charAt(0));
// taking second input
System.out.print("Enter Second Number : ");
data.setNum2(Integer.parseInt(scan.nextLine()));
// printing result
System.out.println(operation.Calculation());
} catch (BeansException e) {
e.printStackTrace();
}
}
}XML file### applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- bean definitions go here -->
<bean id="data" class="com.spring.calculator.Data">
</bean>
<bean id="operations" class="com.spring.calculator.Operations">
<constructor-arg ref="data"></constructor-arg>
</bean>
</beans> |
BasicArithmeticOperations.javapackage com.spring.apps.calculator;
public class BasicArithmeticOperations {
int num1,num2;
public void add() {
System.out.println("Addition of two numbers is :"+ (num1+num2));
}
public void subtract() {
System.out.println("Subtraction of two numbers is :"+ (num1-num2));
}
public void multiply() {
System.out.println("Multiplication of two numbers is :"+(num1*num2));
}
public void divide() {
if(num2==0) {
System.out.println("Second number is zero. Please Give non zero number");
throw new ArithmeticException("/ by zero");
}
else {
System.out.println("Division of the numbers is :"+(num1/num2));
}
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public BasicArithmeticOperations() {
super();
}
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
}MainApp.javapackage com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
System.out.println("Enter a choice:\n");
System.out.println("1. Addition\n2. Subtraction\n3.Multiplication\n4.Divison");
Scanner sc = new Scanner(System.in);
int ch = sc.nextInt();
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// Launches the Application
System.out.println("Application Launched.. Following is the result..");
BasicArithmeticOperations bao = context.getBean("bao", BasicArithmeticOperations.class);
switch (ch) {
case 1: {
bao.add();
break;
}
case 2: {
bao.subtract();
break;
}
case 3: {
bao.multiply();
break;
}
case 4: {
bao.divide();
break;
}
default: {
System.out.println("Incorrect Choice.. Please enter one of the choices 1/2/3/4");
break;
}
}// END OF SWITCH
context.close();//Closing the context
}
}applicationContext.xml<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="bao" class="com.spring.apps.calculator.BasicArithmeticOperations">
<constructor-arg index="0" value="8"></constructor-arg>
<constructor-arg index="1" value="4"></constructor-arg>
</bean>
</beans> |
|
package com.spring.calculator; public class BasicArithmeticOperations { } |
|
Application.java package com.spring.calculator; import java.util.Scanner; import org.springframework.context.support.AbstractApplicationContext; public class Application { } |
|
|
https://github.com/harsha916/Calculator |
|
DriverClass package calculatorAppdriver;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import calculatorApp.beans.BasicArithmeticOperations;
public class ApplicationContext {
public static void main(String[] args) {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.Xml");
BasicArithmeticOperations basicOperations = context.getBean("BasicArithmeticOperations", BasicArithmeticOperations.class);
Scanner sc = new Scanner(System.in);
System.out.println("Enter choice values");
String input = sc.nextLine();
switch(input) {
case "+" : System.out.println("addition of two numbers");
basicOperations.add();
break;
case "-" : System.out.println("subtraction of two numbers");
basicOperations.sub();
break;
case "*" : System.out.println("multiplication of two numbers");
basicOperations.mul();
break;
case "/" : System.out.println("division of two numbers");
basicOperations.div();
break;
default:
System.out.println("Invalid Option");
}
System.out.println(basicOperations);
context.close();
}
}BeansClass package calculatorApp.beans;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public BasicArithmeticOperations() {
super();
}
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public void add() {
System.out.println(num1 + num2);
}
public void sub() {
if(num1 > num2) {
System.out.println(num1 - num2);
}
else
System.out.println(num2 - num1);
}
public void mul() {
if(num1 == 0 || num2 == 0) {
System.out.println("0");
}else
System.out.println(num1 * num2);
}
public void div() {
try {
System.out.println(num1 / num2);
}catch(ArithmeticException e) {
System.out.println("Dividing by zero Operation is not Possible");
}
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
}ApplicationContext.xml <beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id = "BasicArithmeticOperations" class = "calculatorApp.beans.BasicArithmeticOperations">
<property name = "num1" value = "50"></property>
<property name="num2" value = "25


"></property>
</bean>
</beans>
|
Bean Classpackage com.spring.apps.calculator.beans.arithmeticoperations;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public BasicArithmeticOperations() {
super();
// TODO Auto-generated constructor stub
}
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public void add(){
System.out.println("Addition of "+ num1 + "+" + num2 + "=" + (num1+num2));
}
public void subtract(){
System.out.println("Subtraction of " + num1 + "-" + num2 + "=" + (num1-num2));
}
public void multiply(){
System.out.println("Multiplication of " + num1 + "*" + num2 + "=" + (num1*num2));
}
public void divide(){
if (num2 == 0) {
System.out.println("Divion By 0 error occured. You can't divide number by 0.");
}else{
System.out.println("Division of " + num1 + "/" + num2 + "=" + (num1/num2));
}
}
}Driver Classpackage com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations;
public class MainApp {
public static void main(String[] args) {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("application-context-config.xml");
BasicArithmeticOperations bao = context.getBean("basicArithmeticOperations", BasicArithmeticOperations.class);
System.out.println("Select Option to Perform Arithmetic Operation: ");
System.out.println("1. Addtion");
System.out.println("2. Subtraction");
System.out.println("3. Multiplication");
System.out.println("4. Division");
Scanner sc = new Scanner(System.in);
int option = sc.nextInt();
switch(option){
case 1:
bao.add();
break;
case 2:
bao.subtract();
break;
case 3:
bao.multiply();
break;
case 4:
bao.divide();
break;
default:
System.out.print("invalid input");
}
context.close();
}
}Application Context Configuration<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="basicArithmeticOperations" class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="20"></constructor-arg>
<constructor-arg index="1" value="0"></constructor-arg>
</bean>
</beans>
|
|
Driver class package com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations;
public class MainApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
//this will launch the application
AbstractApplicationContext context = new ClassPathXmlApplicationContext("application-context-config.xml");
BasicArithmeticOperations bao = context.getBean("baoBean",BasicArithmeticOperations.class);
System.out.println("Select following option to perform the Arithmetic Operation:");
System.out.println("1. Addition");
System.out.println("2. Substraction");
System.out.println("3. Multiplication");
System.out.println("4. Division");
Scanner sc = new Scanner(System.in);
int option = sc.nextInt();
switch(option) {
case 1: bao.add();
break;
case 2: bao.subtract();
break;
case 3: bao.multiply();
break;
case 4: bao.devide();
break;
default:
System.out.println("Sorry...Invalid Input");
}
context.close();
}
} |
|
Bean Class package com.spring.apps.calculator.beans.arithmeticoperations;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public BasicArithmeticOperations() {
super();
// TODO Auto-generated constructor stub
}
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public void add() {
System.out.println("Addition of "+ num1 +" and " +num2+" is: "+ (num1+num2));
}
public void subtract() {
System.out.println("Substraction of "+num1+" and "+num2+" is:"+ (num1-num2));
}
public void multiply() {
System.out.println("Multiplication of "+num1+" and "+num2+" is:"+ (num1*num2));
}
public void devide() {
if(num2!=0) {
System.out.println("Divison of "+num1+" and "+num2+" is:"+(num1/num2));
}else {
System.out.println("Number is not divisible by 0");
}
}
} |
|
Application Context Configuration <beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="baoBean" class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="88"></constructor-arg >
<constructor-arg index="1" value="8"></constructor-arg >
</bean>
</beans> |
BasicArithmeticOperationpackage com.spring.apps.calculator.beans.arithmeticoperations;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public void add()
{
System.out.println(num1+num2);
}
public void sub()
{
System.out.println(num1-num2);
}
public void mul()
{
System.out.println(num1*num2);
}
public void div()
{
System.out.println(num1/num2);
}
}driverpackage com.spring.apps.calculator;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations;
public class driver {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Calculator APP: ");
AbstractApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
BasicArithmeticOperations c = (BasicArithmeticOperations) context.getBean("math");
c.add();
c.sub();
c.mul();
c.div();
}
}beans.xml<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="math" class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="8"></constructor-arg >
<constructor-arg index="1" value="4"></constructor-arg >
</bean>
</beans>screenshot |
|
CalculatorApplication.java package com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations;
public class CalculatorApplication {
public static void main(String[] args) {
AbstractApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
System.out.println("Welcome to Spring UseCase - Basic Arithmetic Operations");
// Bean - Bean1
BasicArithmeticOperations operations = (BasicArithmeticOperations) context.getBean("Bean1");
System.out.println(operations);
String inputOperation = readInputOperation();
performOperation(inputOperation, operations);
// Bean - Bean2
operations = (BasicArithmeticOperations) context.getBean("Bean2");
System.out.println(operations);
inputOperation = readInputOperation();
performOperation(inputOperation, operations);
// Bean - Bean3
operations = (BasicArithmeticOperations) context.getBean("Bean3");
System.out.println(operations);
inputOperation = readInputOperation();
performOperation(inputOperation, operations);
context.close();
}
static String readInputOperation() {
System.out.print("Select the operand : ");
Scanner scanner = new Scanner(System.in);
String operand = scanner.next();
return operand;
}
static void performOperation(String operand, BasicArithmeticOperations operations) {
switch (operand) {
case "+":
operations.add();
break;
case "-":
operations.subract();
break;
case "*":
operations.multiply();
break;
case "/":
operations.divide();
break;
default:
System.out.println("Invalid Input");
break;
}
System.out.println();
}
}BasicArithmeticOperation.java package com.spring.apps.calculator.beans.arithmeticoperations;
public class BasicArithmeticOperations {
private int num1;
private int num2;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public BasicArithmeticOperations() {
}
public BasicArithmeticOperations(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public void add() {
System.out.println("Addition of two numbers is " + (num1 + num2));
}
public void subract() {
if (num1 >= num2)
System.out.println("Difference of two numbers is " + (num1 - num2));
else
System.out.println("Difference of two numbers is " + (num2 - num1));
}
public void multiply() {
System.out.println("Multiplication of two numbers is " + (num1 * num2));
}
public void divide() {
try {
System.out.println("Division of two numbers " + (num1 / num2));
} catch (ArithmeticException e) {
System.out.println("Arithmetic Exception : / by zero operation performed");
}
}
}XML file <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="Bean1"
class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg type="int" index="0" value="12"></constructor-arg>
<constructor-arg type="int" index="1" value="10"></constructor-arg>
</bean>
<bean id="Bean2"
class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg type="int" index="0" value="12"></constructor-arg>
<constructor-arg type="int" index="1" value="15"></constructor-arg>
</bean>
<bean id="Bean3"
class="com.spring.apps.calculator.beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg type="int" index="0" value="12"></constructor-arg>
<constructor-arg type="int" index="1" value="0"></constructor-arg>
</bean>
</beans>screenshot |
|
driver class package com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import beans.arithmeticoperations.BasicArithmeticOperations;
public class MainApp {
public static void main(String[] args) {
System.out.println("Basic Operations");
AbstractApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
BasicArithmeticOperations bao=(BasicArithmeticOperations) context.getBean("BasicArithmeticOperations", BasicArithmeticOperations.class);
System.out.println(context.getBean("BasicArithmeticOperations", BasicArithmeticOperations.class));
Scanner scanner = new Scanner(System.in);
System.out.println("enter + or - or * or / for their respective operations");
String operand= scanner.next();
switch(operand) {
case "+":
System.out.println("Sum of 2 numbers = " + bao.add());
break;
case "-":
System.out.println("Difference of 2 numbers = " + bao.subtract());
break;
case "*":
System.out.println("Product of 2 numbers = " + bao.multiply());
break;
case "/":
System.out.println("Division of 2 numbers = " + bao.divide());
break;
default:
System.out.println("enter valid operand");
}
context.close();
}
}Operations class package beans.arithmeticoperations;
public class BasicArithmeticOperations {
private float num1;
private float num2;
public BasicArithmeticOperations() {
super();
// TODO Auto-generated constructor stub
}
public BasicArithmeticOperations(float num1, float num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public float getNum1() {
return num1;
}
public void setNum1(float num1) {
this.num1 = num1;
}
public float getNum2() {
return num2;
}
public void setNum2(float num2) {
this.num2 = num2;
}
public float add() {
return num1+num2;
}
public float subtract() {
return num1-num2;
}
public float multiply() {
return num1*num2;
}
public float divide() {
return num1/num2;
}
}xml file <beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="BasicArithmeticOperations" class="beans.arithmeticoperations.BasicArithmeticOperations">
<constructor-arg index="0" value="8"></constructor-arg >
<constructor-arg index="1" value="6"></constructor-arg >
</bean>
</beans> |
MAIN APPpackage com.spring.apps.calculator;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.apps.calculator.beans.BasicArithmeticOperations;
public class MainApp {
public static void main(String[] args)
{
System.out.println("Welcome to the Calculator");
AbstractApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
BasicArithmeticOperations c = context.getBean("basicarithmeticoperations",BasicArithmeticOperations.class);
c.add();
c.subtract();
c.multiply();
c.divide();
context.close();
}
}BASIC ARITHMETIC OPERATIONS CLASSpackage com.spring.apps.calculator.beans;
public class BasicArithmeticOperations
{
private int num1;
private int num2;
public BasicArithmeticOperations() {
super();
// TODO Auto-generated constructor stub
}
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public void add() {
System.out.println("Addition Result :" + num1+num2);
}
public void subtract() {
System.out.println("Subtraction Result:" + (num1 - num2));
}
public void multiply() {
System.out.println("Multiplication Result:" + (num1 * num2));
}
public void divide() {
try {
System.out.println("Divide Result:" + (num1 / num2));
} catch (Exception e) {
System.out.println("Arithmetic Exception");
}
}
}XML<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="basicarithmeticoperations" class="com.spring.apps.calculator.beans.BasicArithmeticOperations">
<constructor-arg index="0" value="100"></constructor-arg >
<constructor-arg index="1" value="12"></constructor-arg >
</bean>
</beans>
SS |
MainApp.javapackage com.spring.apps.calculator;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.foobar.beans.Bar;
import com.spring.foobar.beans.Foo;
import beans.arithmeticoperations.BasicArithmeticOperations;
public class MainApp {
public static void main(String[] args) {
System.out.println("Our first Spring project runs!");
AbstractApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
BasicArithmeticOperations c = context.getBean("basicarithmeticoperations", BasicArithmeticOperations.class);
c.add();
c.subtract();
c.multiply();
c.divide();
context.close();
}
}BasicArithmeticOperations.javapackage beans.arithmeticoperations;
public class BasicArithmeticOperations {
int num1;
int num2;
public BasicArithmeticOperations() {
super();
// TODO Auto-generated constructor stub
}
public BasicArithmeticOperations(int num1, int num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public void add() {
System.out.println("Addition: "+(num1+num2));
}
public void subtract() {
System.out.println("Addition: "+(num1-num2));
}
public void multiply() {
System.out.println("Addition: "+(num1*num2));
}
public void divide() {
System.out.println("Addition: "+(num1/num2));
}
} |
|
XML BasicArithmeticOperations.java Driver Class |
BeansArithmeticOperation.javapackage com.ConsoleBaseCalculatorApp.beans;
public class ArithmeticOperation
{
private int num1;
private int num2;
public ArithmeticOperation()
{
}
public ArithmeticOperation(int num1, int num2)
{
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "ArithmeticOperation [num1=" + num1 + ", num2=" + num2 + "]";
}
public int Add ()
{
int ans= num1+num2;
return ans;
}
public int Subtract()
{
int ans;
if (num1>num2)
{
ans= num1-num2;
}
else
{
ans= -(num2-num1);
}
return ans;
}
public int Multiply()
{
int ans= num1*num2;
return ans;
}
public float Divide()
{
float ans;
if(num1==0)
{
ans=0;
}
if(num2==0)
{
ans=-1;
}
else
{
ans= num1/num2;
}
return ans;
}
}
DriverConsoleBaseCalculatorAppDriverpackage com.ConsoleBaseCalculatorApp;
import java.util.Scanner;
/**
* @author Nikhil'
*
*/
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ConsoleBaseCalculatorApp.beans.ArithmeticOperation;
public class ConsoleBaseCalculatorAppDriver
{
public static void main(String[] args) throws Exception
{
System.out.println("*******Console Base Calculator Application*******");
AbstractApplicationContext context= new ClassPathXmlApplicationContext("Calculator-Application-Config.xml");
ArithmeticOperation amOperation= context.getBean("ArithmeticOperation",ArithmeticOperation.class);
System.out.println(context.getBean("ArithmeticOperation",ArithmeticOperation.class));
Scanner scanner =new Scanner(System.in);
System.out.println("Please select option among the following");
System.out.println(" 1.+ \t 2.-\t 3.* \t 4./");
System.out.print("OPERATION=");
String operation=scanner.next();
switch (operation) {
case "+" ->System.out.println("Addition ="+amOperation.Add());
case "-" ->System.out.println("Subtraction ="+amOperation.Subtract());
case "*" ->System.out.println("Multiplication ="+amOperation.Multiply());
case "/" ->System.out.println("Division ="+amOperation.Divide());
default ->System.out.println("This is not a valid operation");
}
context.close();
}
}
Application Context ConfigurationCalculator-Application-Config.xml<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="ArithmeticOperation" class="com.ConsoleBaseCalculatorApp.beans.ArithmeticOperation" >
<constructor-arg index="0" value="8"></constructor-arg >
<constructor-arg index="1" value="6"></constructor-arg >
</bean>
</beans>ScreenshotsAdditionSubtractionMultiplicationDivision |
BeansBasicArithmeticOperations.javapackage com.spring.apps.calculator;
public class BasicArithmeticOperations {
private double num1;
private double num2;
public BasicArithmeticOperations(double num1, double num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
public double getNum1() {
return num1;
}
public void setNum1(double num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
@Override
public String toString() {
return "BasicArithmeticOperations [num1=" + num1 + ", num2=" + num2 + "]";
}
public BasicArithmeticOperations() {
}
public void add() {
System.out.println("Addition of two numbers is " + (num1 + num2));
}
public void subtract() {
System.out.println("Subtraction of two numbers is " + (num1 - num2));
}
public void multiply() {
System.out.println("Multiplication of two numbers is " + (num1 * num2));
}
public void divide() {
try {
System.out.println("Division of two numbers " + (num1 / num2));
} catch (ArithmeticException e) {
System.out.println("Arithmetic Exception : Denominator can't be 0");
}
}
}DriverDriver.classpackage com.spring.apps.calculator;
import java.util.Scanner;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Driver {
public static void main(String[] args) {
AbstractApplicationContext context=new ClassPathXmlApplicationContext("beans1.xml");
BasicArithmeticOperations bao=context.getBean("basicAO",BasicArithmeticOperations.class);
System.out.println("****Welcome to Calculator App****");
System.out.println();
System.out.println();
boolean run=true;
Scanner sc=new Scanner(System.in);
int input;
while(run==true) {
System.out.println("These are the following Arithmetic Operations:");
System.out.println("1.Addition");
System.out.println("2.Subtraction");
System.out.println("3.Multiplication");
System.out.println("4.Division");
System.out.println("5.End the Application");
System.out.println();
System.out.print("Please enter your Choice:");
input=sc.nextInt();
switch(input) {
case 1:bao.add();
break;
case 2:bao.subtract();
break;
case 3:bao.multiply();
break;
case 4:bao.divide();
break;
case 5:run=false;
break;
default:System.out.println("Enter Valid Choice!!!");
}
System.out.println();
}
}
}Application Context Configurationbeans1.xml<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="basicAO" class="com.spring.apps.calculator.BasicArithmeticOperations">
<constructor-arg type="double" index="0" value="159.9"></constructor-arg>
<constructor-arg type="double" index="1" value="200"></constructor-arg>
</bean>
</beans>
Screenshots |


















Uh oh!
There was an error while loading. Please reload this page.
Create a Spring application named
spring-calculator-appto create a calculator app.Create the main package
com.spring.apps.calculatorunder the projectsrcfolder. All the code files should be contained in this package. You may create relevant sub-packages under this main package.Create a sub-package
beans.arithmeticoperationsunder the main package. Create a class calledBasicArithmeticOperationsthat has two data membersnum1andnum2and four non-parameterized methods calledadd,subtract,multiply, anddivideto perform addition, subtraction, multiplication, and division of two numbers respectively. The functions will print their result and throw exceptions wherever required. Include getters and setters and the toString method.Configure the bean using XML-based configuration to provide the values of
num1andnum2.Create the driver class
MainAppunder the main package. In the driver class, have a switch-case to call the respective function of the calculator depending on user input.Submissions:
All reactions