標題:
例外處理 (四)
[打印本頁]
作者:
陳品肇
時間:
2019-8-16 22:55
標題:
例外處理 (四)
本帖最後由 tonyh 於 2019-8-31 14:39 編輯
利用 try...catch 語法捕捉例外, 針對不同的例外做出不同的回應, 並只允許使用者至多三次的錯誤嘗試.
(例如若捕捉到 ArithmeticException 便回應 "運算錯誤! 分母不可為零!",而若捕捉到 InputMismatchException 則回應 "格式錯誤! 輸入須為整數!")
本帖隱藏的內容需要回復才可以瀏覽
作者:
陳智鈞
時間:
2019-8-17 17:08
import java.util.InputMismatchException;
import java.util.Scanner;
public class Ch01
{
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");
}
}
}
}
複製代碼
作者:
陳柏霖
時間:
2019-8-17 17:10
import java.util.InputMismatchException;
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
int x ,y ,n=0;
for(;;)
{
if(n==3)
{
System.out.println("錯誤過多");
return;
}
try
{
Scanner s=new Scanner(System.in);
System.out.print("請輸入x:");
x=s.nextInt();
System.out.print("請輸入y:");
y=s.nextInt();
System.out.println("x/y="+(x/y));
}catch(ArithmeticException e)
{
n++;
System.out.println("運算錯誤! 分母不可為零!");
}catch(InputMismatchException e)
{
n++;
System.out.println("格式錯誤! 輸入須為整數!");
}
}
}
}
複製代碼
作者:
章幼莛
時間:
2019-8-17 17:14
import java.util.*;
public class Ch17 {
public static void main(String[] args)
{
int x,y,count=0;
while(true)
{
if(count==3)
{
System.out.println("您已輸入錯誤三次了!");
return;
}
try
{
Scanner c= new Scanner(System.in);
System.out.print("請輸入x:");
x=c.nextInt();
System.out.print("請輸入y:");
y=c.nextInt();
System.out.print("x/y="+(x/y));
}catch(ArithmeticException e)
{
count++;
System.out.println("分母不可以為零!");
}catch(InputMismatchException e)
{
count++;
System.out.println("輸入必須為整數!");
}
}
}
}
複製代碼
作者:
蔡依宸
時間:
2019-8-31 15:18
本帖最後由 蔡依宸 於 2019-8-31 15:24 編輯
import java.util.*;
public class Class
{
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");
}
}
}
}
複製代碼
作者:
洪子涵
時間:
2019-8-31 15:49
本帖最後由 洪子涵 於 2019-8-31 16:03 編輯
import java.util.InputMismatchException;
import java.util.Scanner;
public class bbb
{
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");
}
}
}
}
複製代碼
作者:
戴偉宸
時間:
2019-9-2 20:36
import java.util.*;
public class work1
{
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");
}
}
}
}
複製代碼
作者:
戴安利
時間:
2019-9-2 20:57
import java.util.InputMismatchException;
import java.util.Scanner;
public class Haha
{
public static void main(String[] args)
{
int x, y, n=0;
while(true)
{
if(n==3)
{
System.out.println("錯誤嘗試過多!程式跳出");
return;
}
try
{
Scanner scn = new Scanner(System.in);
System.out.println("請輸入分子: ");
x=scn.nextInt();
System.out.print("請輸入分母: ");
y=scn.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");
}
}
}
}
複製代碼
作者:
洪藜芸
時間:
2019-9-7 17:02
import java.util.InputMismatchException;
import java.util.Scanner;
public class A02 {
public static void main(String[] args)
{
int a, b, s=0;
while(true)
{
if(s==3)
{
System.out.print("嘗試次數過多");
return;
}
try
{
Scanner c=new Scanner(System.in);
System.out.print("請輸入分子: ");
a=c.nextInt();
System.out.print("請輸入分母: ");
b=c.nextInt();
System.out.print(a+"/"+b+"="+(a/b));
}catch(ArithmeticException e)
{
s++;
System.out.println("分母不可為零");
}catch(InputMismatchException e)
{
s++;
System.out.println("請輸入整數");
}
}
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2