標題:
例外處理 (三)
[打印本頁]
作者:
陳品肇
時間:
2019-8-16 22:53
標題:
例外處理 (三)
本帖最後由 tonyh 於 2019-8-31 14:38 編輯
對
猜數字遊戲
的程式碼, 進行例外處理,
使程式執行時, 萬一使用者不小心將0打成o時, 遊戲得以繼續進行.
原執行狀況:
進行例外處理後:
本帖隱藏的內容需要回復才可以瀏覽
作者:
陳柏霖
時間:
2019-8-17 16:36
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
double x;
int y ,s=99 ,t=1 ,n=0;
System.out.println("***猜數字遊戲***");
System.out.print("請在1~99間猜一個數:");
x=(int)(Math.random()*99+1);
for(;;)
{
try
{
Scanner c=new Scanner(System.in);
n++;
y=c.nextInt();
if(x==y)
{
System.out.println("正確答案");
System.out.println("你猜了"+n+"次");
break;
}else
{
if(y>x)
{
s=y-1;
}else
{
t=y+1;
}
System.out.println("答錯了");
System.out.print("請在"+t+"~"+s+"間猜一個數:");
}
}catch(Exception e)
{
System.out.println("你輸入錯誤!!!");
System.out.print("請在"+t+"~"+s+"間猜一個數:");
}
}
}
}
複製代碼
作者:
陳智鈞
時間:
2019-8-17 17:02
import java.util.Scanner;
public class Ch01 {
public static void main(String[] args)
{
int n=(int)(Math.random()*99)+1;
int start=1,end=99,ans,count=0;
for(;;)
{
try
{
Scanner s=new Scanner(System.in);
count++;
System.out.print("請輸入一個"+start+"到"+end+"的數字:");
ans=s.nextInt();
if(ans>n)
{
end=ans-1;
}
else if(ans<n)
{
start=ans+1;
}
else
{
System.out.println("恭喜您答對了!!!");
System.out.println("總共猜了: "+count+"次!!");
break;
}
}
catch(Exception e)
{
System.out.println("輸入錯誤!請輸入整數!");
}
}
}
}
複製代碼
作者:
章幼莛
時間:
2019-8-17 17:05
import java.util.Scanner;
public class ch17
{
public static void main(String args[])
{
int start=1,end=99,count=0;
int ans=(int)(Math.random()*99+1);
int guess;
while(true)
{
try
{
Scanner c=new Scanner(System.in);
count++;
System.out.print("猜一個"+start+"~"+end+"之間的數字: ");
guess=c.nextInt();
if(guess>ans)
{
end=guess-1;
}else if(guess<ans)
{
start=guess+1;
}else
{
System.out.println("恭喜你猜對了!");
System.out.println("總共猜了"+count+"次!");
break;
}
}catch(Exception e)
{
System.out.println("輸入錯誤!請輸入整數!");
}
}
}
}
複製代碼
作者:
蔡依宸
時間:
2019-8-31 14:53
本帖最後由 蔡依宸 於 2019-8-31 15:03 編輯
import java.util.Scanner;
public class Class
{
public static void main(String args[])
{
int a=1,b=99,n=0;
int ans=(int)(Math.random()*99+1);
int guess;
while(true)
{
try
{
Scanner s=new Scanner(System.in);
n++;
System.out.print("猜一個"+a+"~"+b+"之間的數字: ");
guess=s.nextInt();
if(guess>ans)
{
System.out.println("猜太大了!");
b=guess;
}else if(guess<ans)
{
System.out.println("猜太小了!");
a=guess;
}else
{
System.out.println("恭喜猜對了!");
System.out.println("總共猜了"+n+"次!");
break;
}
}catch(Exception e)
{
System.out.println("不要亂來!請輸入整數!");
}
}
}
}
複製代碼
作者:
蔡季庭
時間:
2019-8-31 15:03
import java.util.Scanner;
public class Ch66 {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
int target = (int)(Math.random()*99)+1;
int start=1,end=99,ans,count=0;
while(true)
{
try
{
Scanner scn = new Scanner(System.in);
count++;
System.out.print("請輸入一個"+start+"到"+end+"的數字:");
ans = scn.nextInt();
if(ans > target)
{
end = ans-1;
}else if(ans < target)
{
start = ans+1;
}else
{
System.out.println("恭喜您答對了!!!");
System.out.println("總共猜了: "+count+"次!!");
break;
}
}catch(Exception e)
{
System.out.print("輸入錯誤");
}
}
}
}
複製代碼
作者:
洪子涵
時間:
2019-8-31 16:37
import java.util.Scanner;
public class bbb{
public static void main(String args[]) {
int a=(int)(Math.random()*99+1);
int x=1,y=99,t=0;
while(true)
{
try{
Scanner c=new Scanner(System.in);
System.out.print("請猜一個"+x+"~"+y+"之間的整數: ");
t++;
int b=c.nextInt();
if(b<x||b>y)
System.out.println("超出範圍了");
else
{
if(b<a)
x=b;
if(b>a)
y=b;
if(b==a)
break;
}
}catch(Exception e){
System.out.println("請輸入整數");
}
}
if(t==100)
System.out.println("猜"+t+"次了 You Lose 正確答案="+a);
else
System.out.println("猜中了 正確答案="+a+"\n共猜了"+t+"次");
}
}
複製代碼
作者:
戴安利
時間:
2019-9-2 20:11
import java.util.Scanner;
public class Haha
{
public static void main(String[] args)
{
int start=1,end=99,count=0;
int ans=(int)(Math.random()*99+1);
int guess;
while(true)
{
try
{
Scanner scn = new Scanner(System.in);
count++;
System.out.println("猜一個"+start+"到"+end+"之間的數字:");
guess=c.nextInt();
if(guess > ans)
{
end = guess-1;
}else if(guess < ans)
{
start = guess+1;
}else
{
System.out.println("恭喜你猜對了!!!");
System.out.println("總共猜了: "+count+"次~~~");
break;
}
}
catch(Exception e)
{
System.out.println("輸入錯誤!!!請輸入整數!");
}
}
}
}
複製代碼
作者:
戴安利
時間:
2019-9-2 20:25
import java.util.Scanner;
public class Haha
{
public static void main(String[] args)
{
int start=1,end=99,count=0;
int ans=(int)(Math.random()*99+1);
int guess;
while(true)
{
try
{
Scanner scn = new Scanner(System.in);
count++;
System.out.println("猜一個"+start+"到"+end+"之間的數字:");
guess=scn.nextInt();
if(guess > ans)
{
System.out.println("猜太大了!!");
end = guess;
}else if(guess < ans)
{
System.out.println("猜太小了!!");
start = guess;
}else
{
System.out.println("恭喜你猜對了!!!");
System.out.println("總共猜了: "+count+"次~~~");
break;
}
}
catch(Exception e)
{
System.out.println("輸入錯誤!!!請輸入整數!");
}
}
}
}
複製代碼
作者:
戴偉宸
時間:
2019-9-2 20:34
import java.util.Scanner;
public class work1
{
public static void main(String args[])
{
int a=1,b=99,n=0;
int ans=(int)(Math.random()*99+1); //1~99
int guess;
while(true)
{
try
{
Scanner s=new Scanner(System.in);
n++;
System.out.print("猜一個"+a+"~"+b+"之間的數字: ");
guess=s.nextInt();
if(guess>ans)
{
System.out.println("猜太大了!");
b=guess;
}else if(guess<ans)
{
System.out.println("猜太小了!");
a=guess;
}else
{
System.out.println("恭喜你猜對了!");
System.out.println("總共猜了"+n+"次!");
break;
}
}catch(Exception e)
{
System.out.println("輸入錯誤!請輸入整數!");
}
}
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2