2005-11-11

【Java】摸彩 → Random

後面一樣用布林Boolean下去做判斷,有嘗試用函式Function下去寫,不過失敗了!其random部分老師上課有讓我們抄原始碼sourse sode...阿翔就只把之前那猜拳的程式中間猜拳的部份換為random罷了!!
import java.io.*;
public class ex_random{
public static void main(String[]args) throws IOException{
boolean flag=true;
String str;
BufferedReader buf_YesNo;
buf_YesNo=new BufferedReader(new InputStreamReader(System.in));
System.out.println("摸彩摸彩..祝你中頭彩!");
do{
int i,intTransform;
double doubleAR;
System.out.println();
for(i=1;i<11;i++){
doubleAR = Math.random();
intTransform = (int)(doubleAR*100);
System.out.println("第\t"+i+"\t次為 "+intTransform);
}
System.out.println();

char charYesNo;
System.out.print("輸入Y繼續,N離開 → ");
str=buf_YesNo.readLine();
charYesNo=str.charAt(0);
if(charYesNo=='Y' || charYesNo=='y'){
System.out.println("====程式繼續====");
flag=true;
}else if(charYesNo=='N' || charYesNo=='n'){
System.out.println("====程式結束====");
flag=false;
}else{
System.out.println("====輸入錯誤====");
flag=false;
}
}while(flag);
System.out.println("");
}
}

2005-11-06

【Java】猜生日

知道阿翔我的生日嘛!?不知道的話就抓下面source code來玩玩唄!
PS:已經忘記是第幾次的作業了~~ 裡面用到:do while、if else、輸入字元....
/*猜生日,輸入兩變數用if else下去判斷 */

import java.io.*;
public class ex_birthday{
public static void main(String[]args) throws IOException{
int intMonth,intDay;
do{
String strMonth,strDay;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("請猜猜阿翔的生日 → 幾月 → ");
strMonth=buf.readLine();
      //↑將輸入的文字指定給字串變數str_Month
intMonth=Integer.parseInt(strMonth);
System.out.println("你猜的月份為:"+intMonth);

System.out.print("請猜猜阿翔的生日 → 幾日 →");
strDay=buf.readLine();
      //↑將輸入的文字指定給字串變數str_Day
intDay=Integer.parseInt(strDay);
System.out.println("你猜的日期為:"+intDay);
System.out.println("");
if(intMonth>2){
System.out.println("猜錯月份啦,再月份猜小一點!");

if(intDay>18){
System.out.println("猜錯日期啦,日期再猜小一點!");
}else if(intDay==18){
System.out.println("猜對日期啦,恭喜你猜對日期!");
}else{
System.out.println("猜錯日期啦,在日期猜大一點!");
}

}else if(intMonth==2){
System.out.println("猜對月份啦,恭喜你猜對月份!");
if(intDay>18){
System.out.println("猜錯日期啦,日期再猜小一點!");
}else if(intDay==18){
System.out.println("猜對日期啦,恭喜你猜對日期!");
break;
}else{
System.out.println("猜錯日期啦,在日期猜大一點!");
}

}else{
System.out.println("猜錯月份啦,在猜大一點唄!");

if(intDay>18){
System.out.println("猜錯日期啦,日期再猜小一點!");
}else if(intDay==18){
System.out.println("猜對日期啦,恭喜你猜對日期!");
}else{
System.out.println("猜錯日期啦,在日期猜大一點!");
}
}
System.out.println("-------------------------------------");
}while(intDay!=18 || intMonth!=2);
}
}

2005-11-04

【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("");
}
}