異常處理實驗_第1頁
異常處理實驗_第2頁
異常處理實驗_第3頁
異常處理實驗_第4頁
異常處理實驗_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上異常處理一、實驗目的:理解 java 語言中獨特的異常處理機制;掌握異常處理方法;正確地使用捕獲異常和聲明拋棄異常的兩種異常處理的方法;理解自定義異常類的使用; 理解拋出異常和聲明拋出異常的區別與聯系;二、實驗內容:1 從命令行得到5個整數,放入一整型數組,然后打印輸出,要求:如果輸入數據不為整數,要捕獲Integer.parseInt()產生的異常,顯示“請輸入整數”,捕獲輸入參數不足5個的異常(數組越界),顯示“請輸入至少5個整數”。 2寫一個方法void sanjiao(int a,int b,int c),判斷三個參數是否能構成一個三角形,如果不能則拋出異常I

2、llegalArgumentException,顯示異常信息a,b,c+”不能構成三角形”,如果可以構成則顯示三角形三個邊長,在主方法中得到命令行輸入的三個整數,調用此方法,并捕獲異常。3.自定義類Sanj,其中有成員 x,y,z,作為三邊長,構造方法Sanj(a,b,c)分別給x,y,z賦值,方法求面積getArea和顯示三角形信息(三個邊長)showInfo,這2個方法中當三條邊不能構成一個三角形時要拋出自定義異常NotSanjiaoException,否則顯示正確信息。在另外一個類中的主方法中構造一個Sanj對象(三邊為命令行輸入的三個整數),顯示三角形信息和面積,要求捕獲異常。三、實驗

3、要求:1. 通過實驗掌握捕獲異常和聲明拋棄異常的兩種異常處理的方法;2. 程序必須能夠捕獲Integer.parseInt()產生的異常并作相應的處理;3. 程序必須能夠將處理的相應的信息輸出出來;4. 寫出實驗報告。要求記錄編譯和執行Java程序當中的系統錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。四、實驗步驟:1 從命令行得到5個整數,放入一整型數組,然后打印輸出,要求:如果輸入數據不為整數,要捕獲Integer.parseInt()產生的異常,顯示“請輸入整數”,捕獲輸入參數不足5個的異常(數組越界),顯示“請輸入至少5個整數”。 package javaTest;impor

4、t java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Gui_28 public static void main(String args) / TODO Auto-generated method stubint a=new int10;String str=null;BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);int i;for(i=0;i<3;i

5、+)System.out.println("請輸入一個數字");try str = buf.readLine(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); ai=Integer.parseInt(str); try if(i<4) throw new IndexOutOfBound(); catch(IndexOutOfBound e) System.out.println(e.getMessage(); class IndexOutOfBound exte

6、nds Exceptionpublic IndexOutOfBound()super("請輸入至少五個數字");2寫一個方法void sanjiao(int a,int b,int c),判斷三個參數是否能構成一個三角形,如果不能則拋出異常IllegalArgumentException,顯示異常信息a,b,c+”不能構成三角形”,如果可以構成則顯示三角形三個邊長,在主方法中得到命令行輸入的三個整數,調用此方法,并捕獲異常。package javaTest;public class Gui_19 public static void main(String args) th

7、rows IllegalArgumentException / TODO Auto-generated method stubnew panduan().sanjiao(1,2,3);class panduanvoid sanjiao(int a,int b,int c) throws IllegalArgumentExceptionif(a+b>c&&a+c>b&&b+c>a)System.out.println(a+","+b+","+c);else System.out.println(new Il

8、legalArgumentException(a,b,c);class IllegalArgumentException extends ExceptionIllegalArgumentException(int a,int b,int c)super(a+","+b+","+c+"不能構成三角形"); package javaTest;public class Gui_20 public static void main(String args) / TODO Auto-generated method stub new Sanj(

9、3,4,5).getArea(3, 4, 5);class Sanjint x,y,z;Sanj(int x,int y,int z)this.x=x;this.y=y;this.z=z;public void getArea(int a,int b,int c)double p=(a+b+c)/2;double area=Math.sqrt(p*(p-a)*(p-b)*(p-c);if(a+b>c&&a+c>b&&b+c>a)System.out.println(area);else System.out.println(new NotSan

10、jiaoException(a,b,c).toString();public void showInfo(int a,int b,int c)if(a+b>c&&a+c>b&&b+c>a)System.out.println(a+","+b+","+c);else System.out.println(new NotSanjiaoException(a,b,c).toString();class NotSanjiaoException extends ExceptionNotSanjiaoExceptio

11、n(int x,int y,int z)super(x+","+y+","+z+"不能構成三角形");1.參考下面的程序,試修改程序,捕獲相關異常,使得程序能正常運行。提示:用錯誤數據測試,即可得到異常類名,運行時主方法參數輸入 abc 測試 package javaTest;public class StringIndexOutOfpublic static void main(String args)trySystem.out.println("字符串索引越界異常");String str=args0;System.out.println("第四個字符為 "+str.charAt(3);int aa=Integer.parseInt(args0);System.out.println(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論