NEW 4″ Multi-Touch Android 4.0 Smart Phone Dual SIM WIFI Unlocked AT&T T-Mobile
Current Bid: $63.96
Sample Java Program on Basic Calculator Using JOptionpane
Using JOptionPane in Java Programming means you will use dialog boxes while the program is running. JOptionPane is a pre-defined method that is from the pre-defined JOptionPane class. You can generate 5 types of messages in JOptionpane namely, Information Message, Warning Message, Question Message, Plain Message and Error Message. JOptionpane also provides many options that programmer can choose to display on the dialog box like the yes and no option, OK option and Cancel Option.
What is this Basic Calculator that uses JOptionPane?
The sample of basic calculator that will be given below used ‘stringTokenizer’, parsing and error handling, the user can perform the 4 arithmetic operation on the dialog box and the program will return the answer. The scope of this program is just that. You are free to modify the program according to what you need and improve it. The program below will just show you how to use ‘JOptionPane’ and perform basic arithmetic operations using other pre-defined functions. No more than that. Enjoy! And happy programming!
Java Source Code for Basic Calculator using JOptionPane
//main class
package joptionpane;
import java.util.InputMismatchException;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args)
{
int ans = 0;
boolean success = false;
do
{
try
{
String str = JOptionPane.showInputDialog(null, “Enter numbers plus their operators”, “String Calculator”, JOptionPane.QUESTION_MESSAGE);
jOptionPaneClass access = new jOptionPaneClass();
access.getResult(str);
if(JOptionPane.QUESTION_MESSAGE == JOptionPane.CANCEL_OPTION)
{
break;
}
ans = JOptionPane.showConfirmDialog(null,”Want to try again?”,
“Basic Calculator”, JOptionPane.);
success = true;
}catch(InputMismatchException e){
JOptionPane.showMessageDialog(null,e.getMessage(), “EXCEPTION” , JOptionPane.WARNING_MESSAGE);
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,e.getMessage(), “EXCEPTION” , JOptionPane.WARNING_MESSAGE);
}catch(ArithmeticException e){
JOptionPane.showMessageDialog(null,e.getMessage(), “EXCEPTION” , JOptionPane.WARNING_MESSAGE);
}catch(ArrayIndexOutOfBoundsException e){
JOptionPane.showMessageDialog(null,e.getMessage(), “EXCEPTION” , JOptionPane.WARNING_MESSAGE);
}catch(Exception e){
JOptionPane.showMessageDialog(null,e.getMessage(), “EXCEPTION” , JOptionPane.WARNING_MESSAGE);
}
}while(ans == JOptionPane.YES_OPTION);
}
}
//java Class
package joptionpane;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
public class jOptionPaneClass
{
public void stringCalcAdd(String str)
{
int num1;
int num2;
StringTokenizer token = new StringTokenizer(str, ” + “);
while(token.hasMoreTokens())
{
num1 = Integer.parseInt(token.nextToken());
num2 = Integer.parseInt(token.nextToken());
int sum = num1+num2;
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + sum, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
}
public void stringCalcSubtract(String str)
{
int num1;
int num2;
StringTokenizer token = new StringTokenizer(str, ” – “);
while(token.hasMoreTokens())
{
num1 = Integer.parseInt(token.nextToken());
num2 = Integer.parseInt(token.nextToken());
int difference = num1-num2;
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + difference, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
}
public void stringCalcMultiply(String str)
{
int num1;
int num2;
StringTokenizer token = new StringTokenizer(str, ” * “);
while(token.hasMoreTokens())
{
num1 = Integer.parseInt(token.nextToken());
num2 = Integer.parseInt(token.nextToken());
int product = num1*num2;
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + product, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
}
public void stringCalcDivide(String str)
{
double num1;
double num2;
StringTokenizer token = new StringTokenizer(str, ” / “);
while(token.hasMoreTokens())
{
num1 = Integer.parseInt(token.nextToken());
num2 = Integer.parseInt(token.nextToken());
if(num2 > 0)
{
double qoutient = num1/num2;
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + qoutient, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
if(num2 == 0 && num1 == 0)
{
String Un = “Undefined”;
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + Un, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
public void stringCalcPower(String str)
{
double base;
double power;
StringTokenizer token = new StringTokenizer(str, ” ^ “);
while(token.hasMoreTokens())
{
base = Integer.parseInt(token.nextToken());
power = Integer.parseInt(token.nextToken());
if(power == 0)
{
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + 0, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
else if(power == 1)
{
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + base, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
else if(power > 1)
{
double pow = Math.pow(base, power);
int ans = JOptionPane.showConfirmDialog(null,”Proceed?”,
“Basic Calculator”, JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, “The result is: ” + pow, “Result”, JOptionPane.INFORMATION_MESSAGE);
}
}
else if(power < 1)
{
double pow =1 / Math.pow(base, power * -1) ;
int ans = JOptionPane.showConfirmDialog(null,"Proceed?",
"Basic Calculator", JOptionPane.YES_NO_CANCEL_OPTION);
if(ans==JOptionPane.YES_OPTION)
{
JOptionPane.showMessageDialog(null, "The result is: " + pow, "Result", JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
public void getResult(String str)
{
for(int i=0;i<10;i++)
{
if(str.charAt(i) == '+')
{
stringCalcAdd(str);
break;
}
if(str.charAt(i) == '-')
{
stringCalcSubtract(str);
break;
}
if(str.charAt(i) == '*')
{
stringCalcMultiply(str);
break;
}
if(str.charAt(i) == '/')
{
stringCalcDivide(str);
break;
}
if(str.charAt(i) == '^')
{
stringCalcPower(str);
break;
}
}
}
}
Sample Output:
Do you find this hub useful to you? Please rate it or leave a comment. Happy Programming!
Related Java Tutorials:
5 Important Tips to Learn Java Programming and Other Programming Languages
Basic Knowledge Required in Programming
How to Program in Java Using Netbeans: Complete Simple Easy Steps
Java Simple Codes for Beginners
Java Tutorial for Beginners: A Beginners Guide on Learning Java Programming
Java Tutorial Examples
Java Video Tutorial
Java Programming Video Training tutorials CBT 30+ Hrs
Current Bid: $4.99
Advanced Java Programming Video Training tutorials CBT – 30+ Hrs – Master level
Current Bid: $4.99
Java Books
Java Programming : From Problem Analysis to Program Design by D. S. Malik…
Current Bid: $2.99
Introduction to Java Programming, Comprehensive Version 9e by Y. Daniel Liang
Current Bid: $50.80
Other Java Source Code Samples:
Java Source code sample: How to Add Numbers inside an Array using For Loop
Java Source Code: A Recursive Asterisk Diamond Shape Program
Java Source code on Printing the Greatest Common Divisor (GCD) using Recursion
Java Source Code Recursion: Recursive Koch Snow Flakes
Java Source Code: Sort Numbers in Selection Sort
Class in Java: Learn More about Java Classes with Sample Java Codes
Java Program: How to Use If Statement in Java Programming
Java Program: How to Use If-Else Statement in Java Programming
Java Program: Using Multi If and Else Statement in Java Programming
Java Program: How to Sort Numbers in Ascending Order
Java Program: How to Sort Numbers in an Array in a Descending Order
Java Program: Palindrome Test Java Source Code
Java Program: Reverse String in Java Using For Loop
Java Program: Count the Number of String Characters in Java
Java Program: How to Parse a String into Integer in Java Programming
Java Program: How to Use Switch Statement in Java
Sample Java Program for String Tokenizer