Ich arbeite an meinem ersten Java-Projekt, das eine Klasse namens "HeartRates" implementiert, die das Geburtsdatum des Benutzers annimmt und die maximale und die Zielherzfrequenz zurückgibt. Alles im Haupttestprogramm funktioniert bis auf eine Sache, ich kann nicht herausfinden, wie man den Rest des Codes vom Drucken stoppt, nachdem die Ausnahme abgefangen wurde.Ausnahme abgefangen, aber Programm läuft weiter
Ich bin nicht wirklich sicher über den gesamten Teil des Codes, wo die Ausnahme gefangen ist, weil es kopiert und eingefügt wurde, was der Professor uns gab. Wenn jemand mir sagen kann, wie man das Programm beendet, nachdem ein Fehler auftritt, oder eine benutzerdefinierte Fehlermeldung ausspreche und das Programm davon abhalte, weiter auszuführen, würde ich es begrüßen. Hier
ist der Code:
import java.util.Scanner;
import java.util.GregorianCalendar;
import javax.swing.JOptionPane;
public class HeartRatesTest {
public static void main(String[] args) {
HeartRates test= new HeartRates();
Scanner input = new Scanner(System.in);
GregorianCalendar gc = new GregorianCalendar();
gc.setLenient(false);
JOptionPane.showMessageDialog(null, "Welcome to the Heart Rate Calculator");;
test.setFirstName(JOptionPane.showInputDialog("Please enter your first name: \n"));
test.setLastName(JOptionPane.showInputDialog("Please enter your last name: \n"));
JOptionPane.showMessageDialog(null, "Now enter your date of birth in Month/Day/Year order (hit enter after each): \n");
try{
String num1= JOptionPane.showInputDialog("Month: \n");
int m= Integer.parseInt(num1);
test.setMonth(m);
gc.set(GregorianCalendar.MONTH, test.getMonth());
num1= JOptionPane.showInputDialog("Day: \n");
m= Integer.parseInt(num1);
test.setDay(m);
gc.set(GregorianCalendar.DATE, test.getDay());
num1= JOptionPane.showInputDialog("Year: \n");
m= Integer.parseInt(num1);
test.setYear(m);
gc.set(GregorianCalendar.YEAR, test.getYear());
gc.getTime(); // exception thrown here
}
catch (Exception e) {
e.printStackTrace();
}
String message="Information for "+test.getFirstName()+" "+test.getLastName()+": \n\n"+"DOB: "+ test.getMonth()+"/" +test.getDay()+ "/"
+test.getYear()+ "\nAge: "+ test.getAge()+"\nMax Heart Rate: "+test.getMaxHR()+" BPM\nTarget Heart Rate(range): "+test.getTargetHRLow()
+" - "+test.getTargetHRHigh()+" BPM";
JOptionPane.showMessageDialog(null, message);
}
setzen die 'showMessageDialog' innen' try {} 'Block –