import java.util.*;class GuessNumber
{
private static int count=0;//记录猜数字的次数
private int number;//记录随机产生的数字
private int n;//记录用户输入的数字
public GuessNumber()
{
number=(int)(100*Math.random());//产生随机数
}
public void think()
{
System.out.println(number);
System.out.println("input your guess number:"+(++count));
try
{
n=System.in.read();
}catch(Exception e)
{
e.printStackTrace();
}
this.Judge();
}
public void Judge()
{
if(n!=number)
{
if(n<number)
{
System.out.println("your guess number is small ");
System.out.println("input your guess number:"+(++count));
try
{
n=System.in.read();
}catch(Exception e)
{
e.printStackTrace();
}
}
else
{
System.out.println("your guess number is big ");
System.out.println("input your guess number:"+(++count));
try
{
n=System.in.read();
}catch(Exception e)
{
e.printStackTrace();
}
}
this.Judge();
}
else
{
System.out.println(" your guess number is right!"+(++count)+" number="+number);
}
}
}class GuessPerson
{
public static void main(String[] args)
{
GuessNumber gn=new GuessNumber();
gn.think();
}
}
为什么总是 重复输出很多 而且判断不准确?
{
private static int count=0;//记录猜数字的次数
private int number;//记录随机产生的数字
private int n;//记录用户输入的数字
public GuessNumber()
{
number=(int)(100*Math.random());//产生随机数
}
public void think()
{
System.out.println(number);
System.out.println("input your guess number:"+(++count));
try
{
n=System.in.read();
}catch(Exception e)
{
e.printStackTrace();
}
this.Judge();
}
public void Judge()
{
if(n!=number)
{
if(n<number)
{
System.out.println("your guess number is small ");
System.out.println("input your guess number:"+(++count));
try
{
n=System.in.read();
}catch(Exception e)
{
e.printStackTrace();
}
}
else
{
System.out.println("your guess number is big ");
System.out.println("input your guess number:"+(++count));
try
{
n=System.in.read();
}catch(Exception e)
{
e.printStackTrace();
}
}
this.Judge();
}
else
{
System.out.println(" your guess number is right!"+(++count)+" number="+number);
}
}
}class GuessPerson
{
public static void main(String[] args)
{
GuessNumber gn=new GuessNumber();
gn.think();
}
}
为什么总是 重复输出很多 而且判断不准确?
解决方案 »
- 文档在线阅览及下载 如何实现?
- args cannot be resolved,Syntax error on token(s), misplaced construct(s)
- 在线等。。寻求对struts2标签<s:iterator>较熟悉的高手。。。
- ajax二级联动取值问题
- Struts中不同配置文件的Action调用问题
- 请教J2EE1.4的程序测试错误信息的问题?
- 简单程序不正常,谁知道是哪里的问题呀???
- 刚开始学习《mastering jakater struts》,碰到的几个小问题,请教高手。
- java中的接口问题
- struts2中使用datagrid,action中的json数据没有传到前台
- 动态树形结构
- jsp页面中加载其他页面的问题。。。
import java.io.IOException;public class GuessNumber{
private static int count=0;// 记录猜数字的次数
private int number;// 记录随机产生的数字 public GuessNumber(){
number=(int)(100 * Math.random());// 产生随机数
} public void think() throws IOException{
System.out.println(number);
while(!Judge());
} public boolean Judge() throws IOException{
int n=0;
int c=0;
System.out.println("input your guess number:" + (++count));
StringBuilder sb=new StringBuilder();
while((c=System.in.read()) != '\n'){
sb.append((char)c);
}
try{
n=Integer.parseInt(sb.toString().trim());
}
catch(Exception ex){
System.out.println(sb+" is not number");
return false;
}
if(n<number){
System.out.println("your guess number is small ");
return false;
}
else if(n>number){
System.out.println("your guess number is big ");
return false;
}
else{
System.out.println(" your guess number is right!" + count + " number=" + number);
return true;
}
} public static void main(String[] args) throws IOException{
GuessNumber gn=new GuessNumber();
gn.think();
}
}
换成试试java.util.Scanner input = new java.util.Scanner(System.in);
n=input.nextInt();
把这个
n=System.in.read();换成java.util.Scanner input = new java.util.Scanner(System.in);
n=input.nextInt();