import java.io.*;
public class guessnum
{
public static void main(String args[])
{
int x=0;
int num=(int)(Math.random()*(100-0+1))+0;
System.out.println("请输入一个100以内的正整数:");
do
{
try
{
x=System.in.read();
}
catch(IOException e){}
if(x>num)
System.out.println("大了,请重新输入:");
if(x<num)
System.out.println("小了,请重新输入:");
}while(x!=num);
if(x>num)
System.out.println("恭喜你,猜对了!");
}
}以上是我的一段代码
但是运行的时候,发现"大了,请重新输入:"或者"小了,请重新输入:"两句会重复四次
要怎么修改?
还有什么我没有发现的问题么?
请高手指教!
public class guessnum
{
public static void main(String args[])
{
int x=0;
int num=(int)(Math.random()*(100-0+1))+0;
System.out.println("请输入一个100以内的正整数:");
do
{
try
{
x=System.in.read();
}
catch(IOException e){}
if(x>num)
System.out.println("大了,请重新输入:");
if(x<num)
System.out.println("小了,请重新输入:");
}while(x!=num);
if(x>num)
System.out.println("恭喜你,猜对了!");
}
}以上是我的一段代码
但是运行的时候,发现"大了,请重新输入:"或者"小了,请重新输入:"两句会重复四次
要怎么修改?
还有什么我没有发现的问题么?
请高手指教!
System.out.println("大了,请重新输入:");
if(x>num)
System.out.println("恭喜你,猜对了!"); 啥时候算对啊
* 作者: 左国党
* 创建日期: 2006-9-4
* Email: [email protected]
* 网址: http://www.zuoguodang.cn
*/
import java.io.*;public class Guessnum {
Guessnum() {
int a, b, c = 1;
int i = 0;
a = (int) (Math.random() * 100.0);
while (c != 0) {
if (i == 0) {
System.out.println("请输入一个1-100的数:");
}
String s, p, t;
char q;
BufferedReader buf = new BufferedReader(new InputStreamReader(
System.in));
try {
i++;
s = buf.readLine();
b = Integer.parseInt(s);
if (b > 100 || b < 1) {
System.out.println("您的输入有误,请输入1个1-100之间的数。");
i = 0;
continue;
}
if (b == a) {
System.out.println("恭喜你,第" + i + "次猜对了");
System.out.println("再玩一次(y/n)?");
BufferedReader buf1 = new BufferedReader(
new InputStreamReader(System.in));
q = (char) buf1.read();
if (q == 'y') {
i = 0;
a = (int) (Math.random() * 100.0);
continue;
} else if (q == 'n') {
break;
} else
break;
} else {
p = (b > a) ? ("大了,") : ("小了,");
t = (b > a) ? ("1-" + b + "之间的数!") : (b + "-100之间的数!");
System.out.print(p);
System.out.println("你应该猜" + t);
if (i == 10) {
System.out.println("你没机会了,答案是" + a);
System.out.println("再玩一次(y/n)?");
BufferedReader buf1 = new BufferedReader(
new InputStreamReader(System.in));
q = (char) buf1.read();
if (q == 'y') {
i = 0;
a = (int) (Math.random() * 100.0);
continue;
} else if (q == 'n') {
break;
} else
break;
}
}
} catch (Exception e) {
System.out.println("您的输入有误!");
}
}
} public static void main(String[] args) {
Guessnum gue = new Guessnum();
}
}