1. 程式人生 > >java通過鍵盤不斷輸入某門課程的成績(利用異常處理解決當輸入非法數字或非數字的字串時提示輸入不正確)

java通過鍵盤不斷輸入某門課程的成績(利用異常處理解決當輸入非法數字或非數字的字串時提示輸入不正確)

java接收使用者通過鍵盤不斷輸入表示某門課程的成績的字串(按回車為一個字串結束),當輸入非法數字(輸入值小於0或大於100)時提示成績輸入有誤,當輸入為非數字的字串時提示輸入格式不合法。

程式如下:

import java.util.Scanner;

class cuowuException extends Exception //自定義異常類,繼承Exception類
{
	public cuowuException(String msg)
	{
		super(msg);//呼叫父類的構造方法
	}
}

class Numbertest //自定義異常類
{
	public int score(int a) throws cuowuException  //當a<0或a>100時,丟擲一個自定義異常
	{
		
		if(a<0 || a>100)  
		{
			throw new cuowuException("成績輸入有誤");//丟擲異常
		}		
		return a;//返回a
	}
}

class InputScore  //主程式
{
	public static void main(String[] args)
	{
		while(true)
		{
			//捕獲異常
			try
			{
			Scanner sc=new Scanner(System.in);//從鍵盤接收資料
			System.out.println("請輸入成績:");
			int a=sc.nextInt();  //輸入a的數值
			Numbertest n=new Numbertest();  
				try
				{
					int i=n.score(a);
					System.out.println("成績:"+i);//輸出成績
				}
				catch(cuowuException e)
				{
					System.out.println(e);//輸出
				}
			}
			catch(Exception e)//由於變數定義為int型,所以輸入字元時,則輸出該異常資訊
			{
	
				System.out.println("輸入格式不合法");//輸出
			}
		}
	}
}

結果如下:
在這裡插入圖片描述