Scientific calculator in java source code?
The following is for a simple calculator; a scientific calculator is more complicated. I will assume the user will press keys to have a number appear on the display; to (for example) add this with another number, the user presses "+" followed by the second number, followed by "=".
You would use a visual interface, with the number display, the digits, the equal sign, and a few operations (plus, minus, multiply, divide, ...).
As soon as the user types the second number, the first number will disappear from the screen; therefore, you have to save it into some variable.
Every time a key is pressed, you have to decide whether you should add a digit to the number in the display (if it is a digit, or a period), or whether to do a calculation (if it is +, -, *, /). If it is an operation, do the operation (conditionally, depending on the selected operation), and replace the number displayed by the new value.
This is my sample code using JAVA:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.text.*;
import javax.swing.border.*;
class Calc extends JFrame implements ActionListener
{
private static final Font BIGGER_FONT = new Font("Tahoma", Font.BOLD, 13);
private JRadioButton decimalb,binaryb,octalb,hexab,enableb, disableb;
private JTextField _displayField, decimalTF, binaryTF, octalTF, hexaTF;
private JLabel decimalL,binaryL,octalL,hexaL;
private JButton exitb, convertb, clearb, backSpace, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, b11, b12, b13;
private JButton b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25;
private JPanel cbPanel, upperButtonPanel;
private ButtonGroup group, group2;
private boolean pluz = false;
private boolean subs = false;
private boolean multiply = false;
private boolean divide = false;
private boolean _startNumber = true;
private boolean dotCheck = false;
private String firstValue, Secondvalue;
private String _previousOp = "=";
private DecimalFormat df = new DecimalFormat("###,###,###.##");
private CalculatorLogic calLogic = new CalculatorLogic();
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception unused) {
;
}
Calc window = new Calc();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
}
public Calc()
{
super("Calculator With Number System Converter");
_displayField = new JTextField("", 15);
_displayField.setHorizontalAlignment(JTextField.RIGHT);
_displayField.setFont(BIGGER_FONT);
_displayField.setEditable(false);
_displayField.setBackground(Color.WHITE);
upperButtonPanel = new JPanel();
upperButtonPanel.setLayout(new FlowLayout());
upperButtonPanel.setBackground(Color.lightGray);
upperButtonPanel.setPreferredSize(new Dimension(170, 300));
decimalb = new JRadioButton("Decimal", false);
binaryb = new JRadioButton("Binary", false);
octalb = new JRadioButton("Octal", false);
hexab = new JRadioButton("Hexadecimal", false);
decimalb.setFont(BIGGER_FONT);
binaryb.setFont(BIGGER_FONT);
octalb.setFont(BIGGER_FONT);
hexab.setFont(BIGGER_FONT);
decimalb.addActionListener(this);
binaryb.addActionListener(this);
octalb.addActionListener(this);
hexab.addActionListener(this);
group = new ButtonGroup();
group.add(decimalb);
group.add(binaryb);
group.add(octalb);
group.add(hexab);
upperButtonPanel.add(decimalb);
upperButtonPanel.add(binaryb);
upperButtonPanel.add(octalb);
upperButtonPanel.add(hexab);
upperButtonPanel.setVisible(false);
JPanel panel = new JPanel(new GridLayout(10, 1));
panel.setPreferredSize(new Dimension(300, 300));
panel.setBorder(new BevelBorder(BevelBorder.LOWERED));
decimalTF = new JTextField(20);
binaryTF = new JTextField(20);
octalTF = new JTextField(20);
hexaTF = new JTextField(20);
decimalTF.setEditable(false);
binaryTF.setEditable(false);
octalTF.setEditable(false);
hexaTF.setEditable(false);
decimalTF.setBackground(Color.WHITE);
binaryTF.setBackground(Color.WHITE);
octalTF.setBackground(Color.WHITE);
hexaTF.setBackground(Color.WHITE);
decimalTF.setFont(BIGGER_FONT);
binaryTF.setFont(BIGGER_FONT);
octalTF.setFont(BIGGER_FONT);
hexaTF.setFont(BIGGER_FONT);
decimalTF.setVisible(false);
binaryTF.setVisible(false);
octalTF.setVisible(false);
hexaTF.setVisible(false);
decimalL = new JLabel("Decimal Value");
binaryL = new JLabel("Binary Value");
octalL = new JLabel("Octal Value");
hexaL = new JLabel("Hexadecimal Value");
decimalL.setFont(BIGGER_FONT);
binaryL.setFont(BIGGER_FONT);
octalL.setFont(BIGGER_FONT);
hexaL.setFont(BIGGER_FONT);
decimalL.setVisible(false);
binaryL.setVisible(false);
octalL.setVisible(false);
hexaL.setVisible(false);
panel.add(decimalL);
panel.add(decimalTF);
panel.add(binaryL);
panel.add(binaryTF);
panel.add(octalL);
panel.add(octalTF);
panel.add(hexaL);
panel.add(hexaTF);
upperButtonPanel.add(panel);
add(upperButtonPanel, BorderLayout.NORTH);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(5, 2, 5, 5));
buttonPanel.setBackground(Color.lightGray);
buttonPanel.setBorder(new BevelBorder(BevelBorder.LOWERED));
b9 = new JButton("9");
b8 = new JButton("8");
b7 = new JButton("7");
b6 = new JButton("6");
b5 = new JButton("5");
b4 = new JButton("4");
b3 = new JButton("3");
b2 = new JButton("2");
b1 = new JButton("1");
b0 = new JButton("0");
b11 = new JButton(".");
b12 = new JButton("/");
b13 = new JButton("*");
b14 = new JButton("-");
b15 = new JButton("+");
b16 = new JButton("A");
b17 = new JButton("B");
b18 = new JButton("C");
b19 = new JButton("D");
b20 = new JButton("E");
b21 = new JButton("F");
b22 = new JButton("=");
b23 = new JButton("sqrt");
b24 = new JButton("x\u00B2");
b25 = new JButton("x\u00B3");
b1.setFont(BIGGER_FONT);
b2.setFont(BIGGER_FONT);
b3.setFont(BIGGER_FONT);
b4.setFont(BIGGER_FONT);
b5.setFont(BIGGER_FONT);
b6.setFont(BIGGER_FONT);
b7.setFont(BIGGER_FONT);
b8.setFont(BIGGER_FONT);
b9.setFont(BIGGER_FONT);
b0.setFont(BIGGER_FONT);
b11.setFont(BIGGER_FONT);
b12.setFont(BIGGER_FONT);
b13.setFont(BIGGER_FONT);
b14.setFont(BIGGER_FONT);
b15.setFont(BIGGER_FONT);
b16.setFont(BIGGER_FONT);
b17.setFont(BIGGER_FONT);
b18.setFont(BIGGER_FONT);
b19.setFont(BIGGER_FONT);
b20.setFont(BIGGER_FONT);
b21.setFont(BIGGER_FONT);
b22.setFont(BIGGER_FONT);
b23.setFont(BIGGER_FONT);
b24.setFont(BIGGER_FONT);
b25.setFont(BIGGER_FONT);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b0.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
b17.addActionListener(this);
b18.addActionListener(this);
b19.addActionListener(this);
b20.addActionListener(this);
b21.addActionListener(this);
b22.addActionListener(this);
b23.addActionListener(this);
b24.addActionListener(this);
b25.addActionListener(this);
b16.setEnabled(false);
b17.setEnabled(false);
b18.setEnabled(false);
b19.setEnabled(false);
b20.setEnabled(false);
b21.setEnabled(false);
buttonPanel.add(b7);
buttonPanel.add(b8);
buttonPanel.add(b9);
buttonPanel.add(b12);
buttonPanel.add(b13);
buttonPanel.add(b15);
buttonPanel.add(b4);
buttonPanel.add(b5);
buttonPanel.add(b6);
buttonPanel.add(b15);
buttonPanel.add(b14);
buttonPanel.add(b11);
buttonPanel.add(b1);
buttonPanel.add(b2);
buttonPanel.add(b3);
buttonPanel.add(b0);
buttonPanel.add(b22);
buttonPanel.add(b16);
buttonPanel.add(b17);
buttonPanel.add(b18);
buttonPanel.add(b11);
buttonPanel.add(b23);
buttonPanel.add(b19);
buttonPanel.add(b20);
buttonPanel.add(b21);
buttonPanel.add(b24);
buttonPanel.add(b25);
add(buttonPanel);
group2 = new ButtonGroup();
disableb = new JRadioButton("Disable Converter", true);
enableb = new JRadioButton("Enable Converter", false);
disableb.setFont(BIGGER_FONT);
enableb.setFont(BIGGER_FONT);
disableb.addActionListener(this);
enableb.addActionListener(this);
group2.add(disableb);
group2.add(enableb);
cbPanel = new JPanel(new GridLayout(3, 3));
cbPanel.setBorder(new BevelBorder(BevelBorder.RAISED));
cbPanel.add(disableb);
cbPanel.add(enableb);
convertb = new JButton("Convert");
clearb = new JButton("Clear");
exitb = new JButton("Exit");
backSpace = new JButton("BackSpace");
convertb.addActionListener(this);
clearb.addActionListener(this);
exitb.addActionListener(this);
backSpace.addActionListener(this);
convertb.setFont(BIGGER_FONT);
clearb.setFont(BIGGER_FONT);
exitb.setFont(BIGGER_FONT);
backSpace.setFont(BIGGER_FONT);
cbPanel.add(convertb);
cbPanel.add(clearb);
cbPanel.add(backSpace);
cbPanel.add(exitb);
convertb.setEnabled(false);
JPanel content2 = new JPanel();
content2.setLayout(new BorderLayout(5, 5));
content2.add(_displayField, BorderLayout.NORTH);
content2.add(buttonPanel , BorderLayout.CENTER);
content2.add(cbPanel, BorderLayout.SOUTH);
add(content2, BorderLayout.SOUTH);
this.setSize(340, 300);
this.setResizable(false);
this.setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent e)
{
try{
if(decimalb.isSelected())
{
b0.setEnabled(true);
b1.setEnabled(true);
b2.setEnabled(true);
b3.setEnabled(true);
b4.setEnabled(true);
b5.setEnabled(true);
b6.setEnabled(true);
b7.setEnabled(true);
b8.setEnabled(true);
b9.setEnabled(true);
b16.setEnabled(false);
b17.setEnabled(false);
b18.setEnabled(false);
b19.setEnabled(false);
b20.setEnabled(false);
b21.setEnabled(false);
}
else if(binaryb.isSelected())
{
b2.setEnabled(false);
b3.setEnabled(false);
b4.setEnabled(false);
b5.setEnabled(false);
b6.setEnabled(false);
b7.setEnabled(false);
b8.setEnabled(false);
b9.setEnabled(false);
b16.setEnabled(false);
b17.setEnabled(false);
b18.setEnabled(false);
b19.setEnabled(false);
b20.setEnabled(false);
b21.setEnabled(false);
}
else if(octalb.isSelected())
{
b0.setEnabled(true);
b1.setEnabled(true);
b2.setEnabled(true);
b3.setEnabled(true);
b4.setEnabled(true);
b5.setEnabled(true);
b6.setEnabled(true);
b7.setEnabled(true);
b16.setEnabled(false);
b17.setEnabled(false);
b18.setEnabled(false);
b19.setEnabled(false);
b20.setEnabled(false);
b21.setEnabled(false);
b8.setEnabled(false);
b9.setEnabled(false);
}
else if(hexab.isSelected())
{
b0.setEnabled(true);
b1.setEnabled(true);
b2.setEnabled(true);
b3.setEnabled(true);
b4.setEnabled(true);
b5.setEnabled(true);
b6.setEnabled(true);
b7.setEnabled(true);
b8.setEnabled(true);
b9.setEnabled(true);
b16.setEnabled(true);
b17.setEnabled(true);
b18.setEnabled(true);
b19.setEnabled(true);
b20.setEnabled(true);
b21.setEnabled(true);
}
if((e.getActionCommand().equals("Convert")) && decimalb.isSelected())
{
String input, bin="",oct="",hex="";
int rem,rem2,rem3,len;
char x;
input = _displayField.getText().trim();
try{
if(input.equals(""))
throw new Exception("Error");
else
len = input.length();
int num = Integer.parseInt(input);
while(num>0)
{
rem = num%2;
num/=2;
bin = rem + bin;
}
binaryTF.setText(bin);
decimalTF.setText(input);
int num2 = Integer.parseInt(input);
while(num2>0)
{
rem2 = num2%8;
oct = rem2 + oct;
num2/=8;
}
octalTF.setText(oct);
int num3 = Integer.parseInt(input);
while(num3>0)
{
rem3 = num3%16;
if(rem3<10)
hex = rem3 + hex;
else if(rem3 0)
{
JOptionPane.showMessageDialog(null,"Can't divide by zero", "Error Message", JOptionPane.ERROR_MESSAGE);
return 0;
}
else
return (a / b);
}
public double stringToDouble(String a)
{
return Double.parseDouble(a);
}
}
What is the ans button on your calculator?
answer. you can use it if you have long answer and need to do something to it.
What do i do when E is showing on my casio calculator?
"E" indicates an error condition. This is generally caused by attempting a calculation out of the calculators possible range of answers, or by static electricity altering the memory contents. Try the AC (all clear) button, power on/off, removing and re-installing all batteries, using a straightened paper clip to depress the reset button (usually on the back of the calculator)
How do you calculate a discount of 40 10 5 off 62.75 how do I times this in a calculator?
The easiest way is to calculate the price, not the discount. So you would multiply the price times 60% (100% - 40%). Then multiply that result times 90% (100% - 10%). Then multiply that second result by 95% (100% - 5%). The formula, using P as price, looks like this: ((P*.6) * .9) * .95 Because all the operations are multiplication, you can remove the parantheses and multiply in any sequence. So the following formula is equivalent: P (.6*.9*.95) or P * .513 So your price = 62.75 * .513 = 32.19 [which means the discount is 30.56 (62.75 - 32.19) which is the same as P * (1 - .513)]
Where can an equity release calculator be found?
"You can purchase an equity release calculator online. Some sites give you pre-test to show you how it works. Alot of sites offer other things like will writings or life insurance. If you cant find how to work your way around the site, they are plenty of friendly customer service people to help."
How do you solve equations on a TI-83 graphing calculator?
2nd [CATALOG], solve( , enter equation, variable and guess after the bracket, close brackets with " ) ". You can also put lower and upper bounds after the guess.
Springs exhibit a physical property known as elasticity. This property allows it to be pushed and pulled easily despite often being made of rather tough materials, because minimal amounts of the material in the spring are actually being pulled and pushed on, but the whole is still moving drastically.
Who was the inventor of a mechanical calculator for adding number?
You may be referring to the Curta, the small, hand-cranked mechanical calculator
introduced by Curt Herzstark in 1948. It can be used to perform addition, subtraction,
multiplication, division, square roots and other operations. It was considered the most
accurate calculator until the introduction of the electronic ones in the early 1970s.
14 year olds should not use adult BMI charts as they are still growing. Your doctor knows you best and if you are healthy you are probably all right. Have you just had a growth spurt and are waiting for your weight to catch up? Are you a fidgety person, never still, always on the go? that will increase your metabolic rate and keep your weight down. In a country where the citizens are rapidly becoming obese with all the attendant health problems I wouldn't worry about being a little underweight, just eat a healthy diet, exercise and be thankful you don't have to watch the calories.
Excel certainly helps...you'll find a number of options, including several for calculating payments using "formulas" (the Fx features) that may get you there...even an amortization one. So presuming you know interest rate, principal and time variables (like payment at start or end of period, how long a term, etc) - and - this is even more important - they are defined the same by the lender simularly to how the function thinks - you can calculate it and should really be pretty close. Pen and paper would rely on reference tables/charts for giving a payment amount per 100 (or thousand) dollars at a number of rates (hopefully one is the right one) and over specified terms. Available at most any lender, charts are common in most newspapers for at least the ranges they are dealing with commonly. Of course any unusual aspect to the loan your calculating....variable rates, fixed payments, early payoffs, etc., complicates it more so.
How do you get your hp 17bII calculator to use the decimal point instead of the comma?
Press [DSP] and select .
How do you make a scientific calculator program in java?
import java.io.*;
import java.util.*;
public class Calculator
{
public static void main(String args[])
{
System.out.println("Make your arithmetic selection from the choices below:\n");
System.out.println(" 1. Addition");
System.out.println(" 2. Subtraction");
System.out.println(" 3. Multiplication");
System.out.println(" 4. Division\n");
System.out.print(" Your choice? ");
Scanner kbReader = new Scanner(System.in);
int choice = kbReader.nextInt();
if((choice<=4) && (choice>0))
{
System.out.print("\nEnter first operand. ");
double op1 = kbReader.nextDouble();
System.out.print("\nEnter second operand.");
double op2 = kbReader.nextDouble();
System.out.println("");
switch (choice)
{
case 1: //addition
System.out.println(op1 + " plus " + op2 + " = " + (op1 + op2) );
break;
case 2: //subtraction
System.out.println(op1 + " minus " + op2 + " = " + (op1 - op2) );
break;
case 3: //multiplication
System.out.println(op1 + " times " + op2 + " = " + (op1 * op2) );
break;
case 4: //division
System.out.println(op1 + " divided by " + op2 + " = " + (op1 / op2) );
}
}
else
{
System.out.println("Please enter a 1, 2, 3, or 4.");
}
}
}
Read more: How_do_you_make_calculator_program_in_java
sec(151 degrees) = -1.143
In order to find it on a calculator, remember that the secant is 1/cosine.
As long as your calculator does cosines, you're all set.
What is the Phoenix cheat code for a calculator?
press trans on weapon updates page and you have full health, all the weapons, a helper, and upgrade.
What button on the calculator is the exponent button?
On a graphing calculator, it is the one that looks like an upside down V.