The system I am building computes feet to inches, however whenever one of the textfields gets left open the system cannot run (ex.( ??/12) + ?) I was wondering how do I set it when the textfield is left empty the number gets set to zero by default.
package calcu;
import java.awt.event.ItemEvent;
import java.text.NumberFormat;
import java.awt.event.KeyEvent;
import javax.swing.JFormattedTextField.*;
import javax.swing.*;
import javax.swing.JFormattedTextField.*;
void carefull() {
String sumthing = "";
double feet = Double.parseDouble(jTextField1.getText());
double inches = Double.parseDouble(jTextField2.getText());
NumberFormat changer = NumberFormat.getNumberInstance();
double tik = feet * 12;
double tok = inches + tik;
try {
if (jTextField1.getText().trim().equals("")) {
double ans = inches;
sumthing = changer.format(ans);
}
if (jComboBox1.getSelectedItem().equals(" ")) {
sumthing = changer.format(tok);
}
} catch (NumberFormatException e) {
spum1.setText(sumthing);
}
}
You should catch NumberFormatException
s like this:
double feet;
try {
feet = Double.parseDouble(jTextField1.getText());
} catch (NumberFormatException e) {
feet = 0;
}
double inches;
try {
inches = Double.parseDouble(jTextField2.getText());
} catch (NumberFormatException e) {
inches = 0;
}
This will also interpret a non-number like 123kjh
as 0.