標題:
例外處理 (四)
[打印本頁]
作者:
鄭繼威
時間:
2023-6-28 21:18
標題:
例外處理 (四)
本帖最後由 鄭繼威 於 2023-7-5 20:11 編輯
利用
try...catch
語法捕捉例外, 針對不同的例外做出不同的回應, 並只允許使用者至多三次的錯誤嘗試.
(例如若捕捉到
ArithmeticException
便回應 "運算錯誤! 分母不可為零!",而若捕捉到
InputMismatchException
則回應 "格式錯誤! 輸入須為整數!")
try..catch的感覺就像if(a不等於int)的話...else if(b等於0)的話...
本帖隱藏的內容需要積分高於 1 才可瀏覽
作者:
李彣
時間:
2023-7-5 20:03
本帖最後由 李彣 於 2023-7-5 20:05 編輯
import java.util.Scanner;
import java.util.InputMismatchException;
public class B
{
public static void main(String[] args)
{
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子:");
x=s.nextInt();
System.out.print("輸入分母:");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}
catch(InputMismatchException e)
{
System.out.println("格式錯誤!輸入須為整數!");
System.out.println("例外類別:"+e.toString());
}
catch(ArithmeticException e)
{
System.out.println("運算錯誤! 分母不可為零!");
System.out.println("例外類別:"+e.toString());
}
System.out.println();
}
}
複製代碼
作者:
黃裕恩
時間:
2023-7-5 20:08
package test;
import java.util.*;
import java.util.Scanner;
public class Test
{
public static void main(String args[])
{
int x,y,n=0;
while(true)
{
if(n==3)
{
System.out.println("錯誤嘗試過多! 程式跳出!");
return;
}
try
{
Scanner s=new Scanner(System.in);
System.out.print("請輸入分子: ");
x=s.nextInt();
System.out.print("請輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
return;
}catch(ArithmeticException e)
{
n++;
System.out.println("運算錯誤! 分母不可為零!\n");
}catch(InputMismatchException e)
{
n++;
System.out.println("格式錯誤! 輸入須為整數!\n");
}
}
}
}
複製代碼
作者:
林劭杰
時間:
2023-7-5 20:10
import java.util.InputMismatchException;
import java.util.Scanner;
public class Ed
{
public static void main(String[] args)
{
int n=0;
while(true)
{
if(n==3)a
{
System.out.println("錯誤嘗試過多,程式跳出!");
return;
}
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}catch(ArithmeticException e)
{
System.out.println("運算錯誤!分母不可為0");
n++;
}catch(InputMismatchException e)
{
System.out.println("程式錯誤!請輸入整數!");
n++;
}
}
}
}
複製代碼
作者:
林劭澧
時間:
2023-7-5 20:13
本帖最後由 林劭澧 於 2023-7-26 20:00 編輯
import java.util.InputMismatchException;
import java.util.Scanner;
public class Ch01
{
public static void main(String[] args)
{
int n=0;
while(true)
{
if(n==3)
{
System.out.println("錯誤嘗試過多,程式跳出!");
return;
}
try
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("輸入分子: ");
x=s.nextInt();
System.out.print("輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
}
catch(ArithmeticException e)
{
System.out.println("運算錯誤!分母不可為0");
n++;
}
catch(InputMismatchException e)
{
System.out.println("程式錯誤!請輸入整數!");
n++;
}
}
}
}
複製代碼
作者:
曾善勤
時間:
2023-7-5 20:19
import java.util.Scanner;
import java.util.InputMismatchException;
public class Test
{
public static void main(String args[])
{
int x,y,n=0;
while(true)
{
if(n==3)
{
System.out.println("錯誤嘗試過多! 程式跳出!");
{
try
{
Scanner s=new Scanner(System.in);
int i,j;
System.out.print("輸入分子:");
i=s.nextInt();
System.out.print("輸入分母:");
j=s.nextInt();
System.out.println(i+"/"+j+"="+(i/j))
}catch(ArithmeticException e)
{
n++;
}
System.out.println("運算錯誤! 分母不可為零!\n");
}catch(InputMismatchException e)
{
n++;
System.out.println("格式錯誤! 輸入須為整數!\n");
}
}
}
}
複製代碼
作者:
黃裕恩
時間:
2023-7-26 20:10
import java.util.InputMismatchException;
import java.util.*;
import java.util.Scanner;
public class Test
{
public static void main(String args[])
{
int x,y,n=0;
while(true)
{
if(n==3)
{
System.out.println("錯誤嘗試過多! 程式跳出!");
return;
}
try
{
Scanner s=new Scanner(System.in);
System.out.print("請輸入分子: ");
x=s.nextInt();
System.out.print("請輸入分母: ");
y=s.nextInt();
System.out.println(x+"/"+y+"="+(x/y));
return;
}catch(ArithmeticException e)
{
n++;
System.out.println("運算錯誤! 分母不可為零!\n");
}catch(InputMismatchException e)
{
n++;
System.out.println("格式錯誤! 輸入須為整數!\n");
}
}
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2