上午咖啡下午茶在线:我用JAVA写了个猜数字的程序,但是有问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/04 23:59:58
import java.io.*;
public class Guess{
static long x=100;
static long s=200;
static long r=Math.round(200*Math.random());
public static void main(String args[])
{
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("please type the num between"+x+"~"+s);
try
{
String num=stdin.readLine();
while(num != null)
{
long num1=Long.parseLong(num);
if(num1>r)
{
System.out.println("It's too big.");
break;
}
if(num1<r)
{
System.out.println("It's too small.");
break;
}
if(num1==r)
{
System.out.println("That's right.");
break;
}
}
}
catch (Exception e)
{
System.out.println("The num you type error.");
}
}
}
在运行的时候只能输入一次数,猜不对就不能再猜了,怎么解决.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;

public class GuessNumber {

public static void main(String[] args) {

do {

Random random = new Random();
int number = random.nextInt(100);

int guess = 0;

BufferedReader input = new BufferedReader(
new InputStreamReader(System.in));

int counter = 0;

System.out.println("我心里有一个0到99之间的整数,你猜是什么?");

do {
try {
guess = Integer.parseInt(input.readLine());
} catch (NumberFormatException e) {
System.out.println("请输入一个0-99之间的整数!");
continue;
} catch (IOException e) {
System.out.println("程序发生异常错误将被关闭!");
e.printStackTrace();
}

// 对玩家的输入进行判断。
if (guess > number)
System.out.println("大了点,再猜!");
if (guess < number)
System.out.println("小了点,再试试!");

// 计数器增加一。
counter++;
} while (guess != number);

// 判断成绩。
switch (counter) {
case 1:
System.out.println("东渐……快来看上帝……");
break;
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
System.out.println("这么快就猜对了,你很smart啊!");
break;
default:
System.out.println("猜了半天才猜出来,小同志,尚须努力啊!");
break;
}

System.out.println("Game Over!");

}while(true);}}

楼主要搞清楚break和continue的区别。
break是退出当前循环体。
continue是跳过当前循环体中其余代码,执行下一次循环。

把所有的break都换成countinue