Java編程異常簡單代碼示例
練習(xí)1
寫一個(gè)方法void triangle(int a,int b,int c),判斷三個(gè)參數(shù)是否能構(gòu)成一個(gè)三角形。如果不能則拋出異常IllegalArgumentException,顯示異常信息:a,b,c “不能構(gòu)成三角形”;如果可以構(gòu)成則顯示三角形三個(gè)邊長。在主方法中得到命令行輸入的三個(gè)整數(shù),調(diào)用此方法,并捕獲異常。
兩邊之和大于第三邊:a+b>c
兩邊之差小于第三邊:c-a
package 異常;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Scanner;
public class TestTriangle {
public static void triangle(int a, int b,int c) throws IllegalArgumentException, InputMismatchException{
int x[] = new int[3];
x[0] = a;
x[1] = b;
x[2] = c;
Arrays.sort(x);
if ((x[0]+x[1]>x[2])&&(x[2]-x[1]<x[0]))
System.out.println("三角形的三邊長為:"+a+","+b+","+c);
else
throw new IllegalArgumentException();
}
public static void main(String[] args) {
int a=0, b=0, c=0;
Scanner in = new Scanner(System.in);
System.out.println("請(qǐng)分別輸入三角形的三邊長:");
try{
a = in.nextInt();
b = in.nextInt();
c = in.nextInt();
triangle(a, b, c);
}catch(InputMismatchException e1){
System.err.println("請(qǐng)輸入整數(shù)作為三角形的邊長!");
e1.printStackTrace();
}catch(IllegalArgumentException e2){
System.err.println(a+","+b+","+c+"不能構(gòu)成三角形");
}
}
}


練習(xí)2:
從命令行輸入5個(gè)整數(shù),放入一整型數(shù)組,然后打印輸出。要求:
如果輸入數(shù)據(jù)不為整數(shù),要捕獲輸入不匹配異常,顯示“請(qǐng)輸入整數(shù)”;如果輸入數(shù)據(jù)多余5個(gè),捕獲數(shù)組越界異常,顯示“請(qǐng)輸入5個(gè)整數(shù)”。
無論是否發(fā)生異常,都輸出“感謝使用本程序!”
package 異常;
import java.util.InputMismatchException;
import java.util.Scanner;
public class TestArray {
public static void main(String[] args) {
int a[] = new int[5];
System.out.println("請(qǐng)輸入5個(gè)數(shù):");
System.out.println("最后輸入一個(gè)非數(shù)字結(jié)束輸入操作。");
Scanner in = new Scanner(System.in);
try{
int i = 0;
while(in.hasNextDouble()){
a[i] = in.nextInt();
i++;
}
if(i<5)
throw new ArrayIndexOutOfBoundsException();
for(int j=0;j<5;j++)
System.out.print(a[j]+" ");
System.out.println();
}catch(InputMismatchException e1){
System.err.println("請(qǐng)輸入整數(shù)作為數(shù)組元素!");
e1.printStackTrace();
}catch(ArrayIndexOutOfBoundsException e2){
System.err.println("請(qǐng)輸入5個(gè)數(shù)!");
e2.printStackTrace();
}finally{
System.out.print("感謝使用本程序!");
}
}
}

總結(jié)
以上就是本文關(guān)于Java編程異常簡單代碼示例的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java異常退出條件的判斷示例代碼、Java編程異常處理最佳實(shí)踐【推薦】、Java編程中的檢查型異常與非檢查型異常分析等,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之環(huán)形鏈表和約瑟夫問題詳解
約瑟夫(Josephus)問題是單向環(huán)形鏈表的一種體現(xiàn),也就是丟手帕問題,下面這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)結(jié)構(gòu)之環(huán)形鏈表和約瑟夫問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
mybatis參數(shù)String與Integer類型的判斷方式
這篇文章主要介紹了mybatis參數(shù)String與Integer類型的判斷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
java springboot郵箱找回密碼功能的實(shí)現(xiàn)講解
這篇文章主要介紹了java springboot郵箱找回密碼功能的實(shí)現(xiàn)講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
使用java實(shí)現(xiàn)Xmodem協(xié)議
這篇文章主要介紹了使用java實(shí)現(xiàn)Xmodem協(xié)議的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
SpringBoot集成SFTP客戶端實(shí)現(xiàn)文件上傳下載實(shí)例
這篇文章主要為大家介紹了SpringBoot集成SFTP客戶端實(shí)現(xiàn)文件上傳下載實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
詳解Spring Cloud Finchley版中Consul多實(shí)例注冊的問題處理
這篇文章主要介紹了詳解Spring Cloud Finchley版中Consul多實(shí)例注冊的問題處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
Spring Boot 集成 ElasticSearch應(yīng)用小結(jié)
這篇文章主要介紹了Spring Boot 集成 ElasticSearch應(yīng)用小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11

