2016-11-26 205 views
-2

我正在使用Java的抵押計算器。我必須使用try和catch塊來驗證數據。我完成了程序的其餘部分,但我無法弄清楚如何實現try和catch塊。以下是提示所要求的內容:在Java中拋出異常

「編寫自己的例外以使用try和catch塊驗證數據,例如貸款金額不能是負數,它應該在$ 5000和$ 1,000,000之間。

編輯:這是最後工作的try-catch塊。它需要放置在其餘數據所在的actionPerformed方法中。我還遇到了另一個問題,即代碼一直在拋出任何我輸入的數量的異常,直到我發現我需要將for循環放入try塊。

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

@Moose總的來說,我們試圖保持這樣的問題,問題 - 不是無關的評論:)幽靈工人的評論是針對那裏沒有任何任何try/catch聲明。換句話說,*嘗試*某事。 「如何做到這一點」我在我的第一個評論中解釋了很多 - 因此詢問*特定問題是什麼。 –

回答

0

下面是最後工作的try-catch塊。它需要放置在其餘數據所在的actionPerformed方法中。我還遇到了另一個問題,即代碼一直在拋出任何我輸入的數量的異常,直到我發現我需要將for循環放入try塊。

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("");     
}