【Java】作弊的電腦 → 猜不贏的拳

11/4(五)課堂練習+作業...作弊的電腦,顧名思義就是...不管你怎麼猜都是電腦贏
不過目前的阿翔所寫的這程式裡還有些BUG,自己有發現的是:
 一、在出拳時,輸入英文字母會整個當掉!
 二、輸入的值是用整數下去判斷,而不是用字元!如用字元,只要鍵值第一字母符合就會跑的過,而後面的值將不再判斷!
import java.io.*;
public class ex_cheat{
public static void main(String[]args) throws IOException{
int num,i;
boolean flag=true;
String str;
BufferedReader buf_Boxing,buf_YesNo;
buf_Boxing=new BufferedReader(new InputStreamReader(System.in));
buf_YesNo=new BufferedReader(new InputStreamReader(System.in));
System.out.print("來猜拳唄");
System.out.print("0=石頭,1=布,2=剪刀");
do{
char charYesNo;
int intBoxing;
System.out.println("請出拳:");
str=buf_Boxing.readLine();// = c語言的scanf
intBoxing = Integer.parseInt(str); //str.charAt(str)←轉整數
switch(intBoxing){
case 0:
System.out.println("電腦出布,你輸了!");
break;
case 1:
System.out.println("電腦出剪刀,你輸了!");
break;
case 2:
System.out.println("電腦出石頭,你輸了!");
break;
default:
System.out.println("電腦耍賴,他不出= =+");
break;
}
System.out.print("輸入Y繼續,N離開 → ");
str=buf_YesNo.readLine();
charYesNo=str.charAt(0);
if(charYesNo=='Y' || charYesNo=='y'){
System.out.println("====程式繼續====");
System.out.println();
flag=true;
}else if(charYesNo=='N' || charYesNo=='n'){
System.out.println("====程式結束====");
System.out.println();
flag=false;
break;
}else{
System.out.println("====輸入錯誤====");
System.out.println();
flag=false;
}
}while(flag);
System.out.println("");
}
}

留言

Popular Articles

MySQL 語法匯整