日期:2014-05-20  浏览次数:20799 次

这个程序运行之后不管输入什么数字,结果都是“找到”。。。。这是为什么???求大神解答
import java.applet.Applet;
import java.io.*;
public class Findsort {
public static void main(String args[]) throws IOException{
BufferedInputStream in=new BufferedInputStream(System.in);
BufferedOutputStream out=new BufferedOutputStream(System.out);
int y[]={2,4,5,7,9,0};
int a;
byte b[]=new byte[2];
System.out.println("请输入要查询的数字:");
a=in.read(b,0,2);
int l=0;
for(int i=0;i<6;i++){
if(y[i]==a)
l=1;
break;
}
if(l==0){
out.write(b,0,1);
System.out.println("没有找到!");
out.flush();
}
else
System.out.println("找到!");
}

}
java string

------解决方案--------------------
for(int i=0;i<6;i++){
if(y[i]==a)
l=1;
break;
}这个循环,一执行,I就不会为0了!!
------解决方案--------------------
我给你写个简单点的,思路跟你的一样,还有效率更好的方法


public class FindsortTest
{
public static void main(String[] args)
{
int a = 9;
boolean x = true;
int[] y ={ 2, 4, 5, 7, 9, 0 };
for (int i=0; i<6; i++)
{
if (a == y[i])
{
System.out.println("找到");
x = false;
}
}
if (x)
{
System.out.println("没找到");
}
}
}