2016-11-26 12 views
-2

私はJavaでモーゲージ計算機を使っています。 tryとcatchブロックを使用してデータを検証する必要があります。私はプログラムの残りの部分をやったことがありますが、tryブロックとcatchブロックの実装方法を理解することはできません。Javaで例外をスローする

"tryとcatchブロックを使用してデータを検証するための独自の例外を記述します。例えば、ローンの金額は負の数でなければならず、$ 5000〜$ 1,000,000の間でなければなりません。

編集:最終的にうまくいったtry-catchブロックがあります。それは私の残りのデータがあるactionPerformedメソッドに配置する必要がありました。私はtryブロックの中にforループを置く必要があることが分かるまで、コードが入力した量の例外をスローしていたという別の問題がありました。

try 
    { 
     if((n1 < 5000) || (n1 > 1000000)) 
     throw new Exception(); 

     for (int i = 0; i < term[0] * 12; i++) 
     { 
     double interest_paid = n1 * (rate[0]/12); 
     double principal_paid = tr1 - interest_paid; 
     n1 = n1 - principal_paid; 

     //Prints the results. 
     edit.append("\n " + (i+1) + " \t\t " + (two.format(interest_paid)) 
      + " \t\t " + (two.format(principal_paid)) + " \t\t " 
       + (two.format(Math.abs(n1))));    
     } 
    } 
    catch (Exception e) 
    {   
     edit.setText("Please enter an amount between $5,000 and $1,000,000.");  
     mortText.setText(""); 
     out.setText("");     
    } 
+1

[編集]リンクをクリックしますか?いずれにせよ、正しい字下げでも読みにくいです。何が問題なのかは明確ではありません。検証し、検証エラーがある場合は例外をスローします。バリデーションを「try」ブロックに呼び出すと、どこにでも例外がキャッチされ、適切に処理されます。特定の問題は何ですか? –

+0

あなたは何も試みませんでした。これまでのあなたの努力を見てみましょう。 –

+1

@Mose一般的に、私たちはちょうどそのような疑問を残そうとしています - 無関係なコメントではありません:) Ghost Workerのコメントはどこにでもtry/catchステートメントがありません。言い換えれば、*試してみてください。 "それを行う方法"私は最初のコメントでかなり説明しました - したがって*具体的な*問題が何であるかを尋ねます。 –

答えて

0

これは最終的に機能したtry-catchブロックです。それは私の残りのデータがあるactionPerformedメソッドに配置する必要がありました。私はtryブロックの中にforループを置く必要があることが分かるまで、コードが入力した量の例外をスローしていたという別の問題がありました。

try 
{ 
if((n1 < 5000) || (n1 > 1000000)) 
    throw new Exception(); 

    for (int i = 0; i < term[0] * 12; i++) 
    { 
    double interest_paid = n1 * (rate[0]/12); 
    double principal_paid = tr1 - interest_paid; 
    n1 = n1 - principal_paid; 

    //Prints the results. 
    edit.append("\n " + (i+1) + " \t\t " + (two.format(interest_paid)) 
     + " \t\t " + (two.format(principal_paid)) + " \t\t " 
      + (two.format(Math.abs(n1))));    
    } 
} 
catch (Exception e) 
{   
    edit.setText("Please enter an amount between $5,000 and $1,000,000.");  
    mortText.setText(""); 
    out.setText("");     
} 
関連する問題