Hi, I'm trying to calculate square root but i cannot seem to get it working. here is the code:
CODE
import javax.swing.*;
import java.awt.event.*;
import java.math.*;
public class Calc implements ActionListener{
private JButton btnAdd, btnMinus, btnDivide, btnMulti, btnPercent, btnSqRoot, btnClear, btnHelp;
private JLabel lblNumber1, lblNumber2,lblResult, lblPercentage, lblSqRoot, lblClear, lblHelp;
private JTextField txtNumber1, txtNumber2, txtResult;
private JPanel panel;
private JFrame frame;
double Result1;
public Calc(){
frame = new JFrame();
frame.setTitle("Calculator");
frame.setSize(500,400);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
panel = new JPanel();
panel.setLayout(null);
lblNumber1 = new JLabel("First Number");
lblNumber1.setBounds(10, 50, 100, 20);
panel.add(lblNumber1);
txtNumber1 = new JTextField("");
txtNumber1.setBounds(110, 50, 150, 20);
panel.add(txtNumber1);
lblNumber2 = new JLabel("Second Number");
lblNumber2.setBounds(10, 70, 100, 20);
panel.add(lblNumber2);
txtNumber2= new JTextField("");
txtNumber2.setBounds(110, 70, 150, 20);
panel.add(txtNumber2);
lblResult = new JLabel("Result");
lblResult.setBounds(10, 90, 100, 20);
panel.add(lblResult);
txtResult= new JTextField("");
txtResult.setBounds(110, 90, 150, 20);
panel.add(txtResult);
btnAdd = new JButton("Add");
btnAdd.setBounds(50, 200, 100, 20);
btnAdd.addActionListener(this);
panel.add(btnAdd);
btnMinus = new JButton("Subtract");
btnMinus.setBounds(150, 200, 100, 20);
btnMinus.addActionListener(this);
panel.add(btnMinus);
btnDivide = new JButton("Divide");
btnDivide.setBounds(250, 200, 100, 20);
btnDivide.addActionListener(this);
panel.add(btnDivide);
btnMulti = new JButton("Multiply");
btnMulti.setBounds(350, 200, 100, 20);
btnMulti.addActionListener(this);
panel.add(btnMulti);
btnPercent = new JButton("Percentage");
btnPercent.setBounds(50, 222, 100, 20);
btnPercent.addActionListener(this);
panel.add(btnPercent);
btnSqRoot = new JButton("Sq Root");
btnSqRoot.setBounds(150, 222, 100, 20);
btnSqRoot.addActionListener(this);
panel.add(btnSqRoot);
btnClear = new JButton("Clear");
btnClear.setBounds(250, 222, 100, 20);
btnClear.addActionListener(this);
panel.add(btnClear);
btnHelp = new JButton("Help");
btnHelp.setBounds(350, 222, 100, 20);
btnHelp.addActionListener(this);
panel.add(btnHelp);
frame.getContentPane().add(panel);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent event){
Object source = event.getSource();
int s1, s2, s3;
s1 = Integer.parseInt(txtNumber1.getText());
s2 = Integer.parseInt(txtNumber2.getText());
//s3 = Integer.parseInt(txtResult.getText());
if (source == btnAdd)
{
txtResult.setText(String.valueOf(s1+s2));
}
if (source == btnMinus)
{
txtResult.setText(String.valueOf(s1-s2));
}
if (source == btnDivide)
{
txtResult.setText(String.valueOf(s1/s2));
}
if (source == btnMulti)
{
txtResult.setText(String.valueOf(s1*s2));
}
if (source == btnPercent)
{
txtResult.setText(String.valueOf(s2/s1*100));
}
if (source == btnSqRoot)
{
txtResult = Math.sqrt(String.valueOf(s1));
}
}
public static void main(String[] args){
Calc myCalc= new Calc();
}
}
And here is the error message:
QUOTE
C:\Users\Alex\Documents\AO BBIT\Programming 1\Assignment 5\Calc.java:132: sqrt(double) in java.lang.Math cannot be applied to (java.lang.String)
txtResult = Math.sqrt(String.valueOf(s1));
^
1 error
Tool completed with exit code 1
thanks for any help