私は最初のJavaプロジェクトで、 "HeartRates"というクラスを実装しています。これは、ユーザーの生年月日と最大と目標の心拍数を返します。主なテストプログラムの中のすべては、例外を捕まえた後に、コードの残りの部分を印刷から止める方法を理解できません。例外がキャッチされたが、プログラムが実行され続ける
教授が私たちから与えたものからコピーされて貼り付けられたため、例外が検出された部分のコードについてはわかりません。エラーが発生した後にプログラムを終了する方法を教えてもらえれば、あるいはカスタムエラーメッセージを表示して、プログラムをさらに実行しなくてもいいと思う人は、感謝します。
catch(Exception e)
{
e.printStackTrace();
return; // also you can use System.exit(0);
}
または多分あなたはtry
ブロックの最後に最後JOptionPane.showMessageDialog
を入れたい:キーワードreturn
を使用し、catch
ブロックで
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);
}
は 'しようと{}'ブロック –