標題:
猜數字遊戲
[打印本頁]
作者:
tonyh
時間:
2012-10-8 21:31
標題:
猜數字遊戲
本帖最後由 tonyh 於 2012-10-10 19:36 編輯
設計一猜數字遊戲, 猜一介於1~99間的數字,
此數字由電腦隨機亂數產生,
使用者可重覆猜測, 且範圍會越縮越小,
最後猜中後, 計算使用者總共猜了幾次才猜中.
import java.io.Console;
public class ch25{
public static void main(String args[])
{
Console console=System.console();
String str;
int a=1, b=99, count=0;
int ans=(int)(Math.random()*99+1);
int guess;
while(true)
{
count++;
System.out.print("猜一個"+a+"~"+b+"之間的數字: ");
guess=Integer.parseInt(console.readLine());
a=(guess<ans)?guess:a;
b=(guess>ans)?guess:b;
if(guess!=ans)
{
str=(guess>ans)?"猜得太大了":"猜得太小了";
System.out.println(str);
continue;
}
break;
}
System.out.println("恭喜你猜對了!");
System.out.println("總共猜了"+count+"次!");
}
}
複製代碼
package tony.java.practice;
import java.util.Scanner;
public class ch25{
public static void main(String args[])
{
Scanner scanner=new Scanner(System.in);
String str;
int a=1, b=99, count=0;
int ans=(int)(Math.random()*99+1);
int guess;
while(true)
{
count++;
System.out.print("猜一個"+a+"~"+b+"之間的數字: ");
guess=scanner.nextInt();
a=(guess<ans)?guess:a;
b=(guess>ans)?guess:b;
if(guess!=ans)
{
str=(guess>ans)?"猜得太大了":"猜得太小了";
System.out.println(str);
continue;
}
break;
}
System.out.println("恭喜你猜對了!");
System.out.println("總共猜了"+count+"次!");
}
}
複製代碼
作者:
晏有聰
時間:
2012-10-9 02:26
本帖最後由 晏有聰 於 2012-10-9 09:36 編輯
/* 猜數字遊戲1-100,會計算猜幾次 */
import java.io.Console;
public class ch26_2
{
public static void main (String showdemo[])
{
Console console=System.console();
int random_value,input1,count=1;
int range1=1,range2=100;
random_value=(int)((Math.random())*100+1);
System.out.print("請猜測一個數字介於1-100的整數=");
input1=Integer.parseInt(console.readLine());
while (true)
{
if(input1>0 && input1<=100)
{
if(input1==random_value)
{
System.out.print("Bingo,您猜對了 ");
System.out.println("您猜了"+count+"次");
break;
}
else
{
range2=((input1>random_value)&&(input1<range2))?input1:range2;
range1=((input1<random_value)&&(input1>range1))?input1:range1;
System.out.print("請再猜一次,範圍介於 "+range1+"~"+range2+"=");
input1=Integer.parseInt(console.readLine());
count=count+1;
continue;
}
}
else
{
System.out.print("來亂的嗎 ? 請猜1-100之間的整數=");
count=count+1;
}
input1=Integer.parseInt(console.readLine());
}
}
}
複製代碼
作者:
吳尚哲
時間:
2012-10-9 11:38
本帖最後由 吳尚哲 於 2012-10-9 11:42 編輯
import java.io.Console;
public class ch23
{
public static void main (String args[])
{
Console console=System.console();
int a, upper=99, lower=1, q, count=0;
q = ((int)(Math.random()*99)+1); //產生1~99間之亂數
while(true)
{
System.out.print("請猜一個介於" + lower + "~" + upper +"的數字: ");
a=(int)(Float.parseFloat(console.readLine())); //防呆用
while( a > upper || a < lower) //防呆用
{
System.out.println("請'正確'猜一個介於" + lower + "~" + upper +"的數字");
a=(int)(Float.parseFloat(console.readLine())); //防呆用
}
count++;
if(a > q)
{
System.out.println(a + "太大囉~");
upper = a-1;
}
else if(a < q)
{
System.out.println(a + "太小囉~");
lower = a+1;
}
else
{
System.out.println();
System.out.println("恭喜您答對囉^^");
System.out.println("您一共猜了" + count + "次!!");
break;
}
}
}
}
複製代碼
作者:
許銘欽
時間:
2012-10-9 15:15
import java.io.Console; //引入java.io類別
public class ch25 //continue & break
{
public static void main(String args[])
{
int guest,anwser,cycle;
int start_num, end_num;
Console console = System.console();
anwser = (int)(Math.random()*100+1);
//System.out.println(anwser);
System.out.println();
System.out.println("這是一個猜數字的遊戲,請在1-99之間,猜一數,");
System.out.println("準備好了嗎...Let's Go!!");
System.out.println();
cycle = 1;
start_num = 1;
end_num = 99;
while(true)
{
System.out.print("請輸入數字("+start_num+"-"+end_num+"):");
guest = Integer.parseInt(console.readLine());
if(guest==anwser) break;
if(guest > anwser)
{
System.out.println("****猜錯囉,請猜小一點****");
System.out.println();
cycle++;
end_num = guest;
continue;
}
if(guest < anwser)
{
System.out.println("****猜錯囉,請猜大一點****");
System.out.println();
cycle++;
start_num = guest;
continue;
}
}
System.out.println("****恭喜你猜中了,"+"一共猜了"+cycle+"次!!****");
}
}
複製代碼
作者:
劉永記
時間:
2012-10-10 17:05
import java.io.Console; //抓取鍵盤值
public class ch25 //類別
{
public static void main (String arg[]) //方法
{
Console cs=System.console();
int i; //輸入的數值
int x; //亂數產生的數字
int y=1; //計算輸入次數
x=(int)(Math.random()*99+1);//算出1~99的亂數
while (true)
{
i=Integer.parseInt(cs.readLine());
if (x==i)
{
break;
}
else if (i<0 )
{
System.out.println("嘿 不在1~99範圍喔");
y=y+1;
}
else if (i>99)
{
System.out.println("嘿 不在1~99範圍喔");
y=y+1;
}
else if (x>i)
{
System.out.println("太小了,要再猜大一點喔");
y=y+1;
}
else if (x<i)
{
System.out.println("太大了,要再猜小一點喔");
y=y+1;
continue;
}
}
System.out.print("恭喜你猜對了"+"您一共猜了"+y+"次");
}
}
複製代碼
作者:
林立尉
時間:
2012-10-10 18:13
import java.io.Console;
public class ch116
{
public static void main (String args[])
{
int x, big, small, i, a;
big=99;
Small=1;
i=1;
System.out.print("數字遊戲, 猜一介於1~99間的數字");
System.out.println();
Console console=System.console();
System.out.print("請猜一個0~99的數: ");
a=Integer.parseInt(console.readLine());
x=((int)(Math.random()*100+1)); //產生介於1~99的隨機亂數;
while(a==x)(
if(a>x)
{
big==a ;
System.out.println("猜一介於"+big"~"+small"間的數字");
Console console=System.console();
a=Integer.parseInt(console.readLine());
i++;
}else if(a<x)
{
small==a;
System.out.println("猜一介於"+big"~"+small"間的數字");
Console console=System.console();
a=Integer.parseInt(console.readLine());
i++;
}
else
{
}
)
System.out.println(+a);
System.out.println("恭喜你猜對了,你共猜了"+i"次");
}
}
複製代碼
作者:
孫家祥
時間:
2012-10-10 19:16
本帖最後由 孫家祥 於 2012-10-10 20:24 編輯
package sun.java.test;
import java.io.Console;
import java.util.Scanner;
public class gsnum {
public static void main(String args[])
{
Scanner scanIn=new Scanner(System.in);
int v,w,x=5000,y,z,int1,int2;
String str="請開始猜整數~",str2;
y=1;
v=((int)(Math.random() * 3000)+30+y);
w=((int)(Math.random() * 6)+y);
v=(v-(v%w));
int1=(v-(int)(Math.random() * 30));
int2=(v+(int)(Math.random() * 30));
System.out.println("請輸入介於"+int1+"至"+int2+"中,"+w+"倍數之整數");
z=0;
while (x!=v && z<9)
{
System.out.println(str);
x=Integer.parseInt(scanIn.next());
str=(x>v)? "過大了,請再猜~介於"+int1+"至"+(x-1)+"中,"+w+"倍數之整數":"過小了,請再猜~介於"+(x+1)+"至"+int2+"中,"+w+"倍數之整數";
z+=1;
}
str2=(((z==9)? "很抱歉!已猜錯"+z+"次!!":"恭喜您猜對了,沒錯!")+"正確數值是: "+v);
System.out.println(str2);
System.out.println("你總共猜了"+z+"遍");
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2