Note that there are some explanatory texts on larger screens.

plurals
  1. POHow Do I Get User Input from a TextField and Convert it to a Double?
    text
    copied!<p>I'm using Eclipse to build a calculator and I am having trouble because I need to have 2 values entered by the user. Here is my code for the run class.</p> <pre><code>import display.Gui; public class Main { public static void main(String argsp[]) { Gui window = new Gui(); double a = 0, b = 0, c = 0; String operator; boolean calculate = true; window.setVisible(true); window.setSize(500, 400); window.setResizable(false); window.setLocationRelativeTo(null); while (calculate) { window.textArea_1.append("Enter an equation.\n"); a = Double.parseDouble(window.textField.getText()); operator = window.textField.getText(); b = Double.parseDouble(window.textField.getText()); if (operator.contains("+")) c = a + b; if (operator.contains("-")) c = a - b; if (operator.contains("*")) c = a * b; if (operator.contains("/")) c = a / b; if (operator.contains("x^2")) c = a * a; if (operator.contains("sqrt")) c = Math.sqrt(a); if (operator.contains("%")) c = a / 100; window.textArea.append("" + c + "\n"); window.textArea.append(""); window.textArea.append("Would you like to make another calculation? [Yes/No]\n"); String calculation = window.textField.getText(); try { if (calculation.equalsIgnoreCase("Yes")) calculate = true; if (calculation.equalsIgnoreCase("No")) calculate = false; } catch (Exception e) { window.textArea_1.append("Please enter yes or no"); } } } } </code></pre> <p>and here is my class for the JFrame:</p> <pre><code>import java.awt.Dimension; import java.awt.EventQueue; import javax.swing.JFrame; import java.awt.BorderLayout; import javax.swing.JTextField; import javax.swing.JTextArea; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Gui extends JFrame { public JTextArea textArea, textArea_1; public JTextField textField; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Gui frame = new Gui(); frame.setVisible(false); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Gui() { setBounds(100, 100, 450, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(new BorderLayout(0, 0)); textField = new JTextField(); textField.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent Ev) { textArea.append(textField.getText() + "\n"); textField.setText(""); } }); textField.requestFocus(); getContentPane().add(textField, BorderLayout.SOUTH); textField.setColumns(10); textArea = new JTextArea(); textArea.setEditable(false); textArea.setPreferredSize(new Dimension(215, 200)); getContentPane().add(textArea, BorderLayout.WEST); textArea_1 = new JTextArea(); textArea_1.setEditable(false); textArea_1.setPreferredSize(new Dimension(215, 200)); getContentPane().add(textArea_1, BorderLayout.EAST); } </code></pre> <p>i tried using <code>Double.parseDouble(window.textField.getText());</code></p> <p>but that didn't work. How can I make it work? Thanks in advance.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload