读书人

谁能帮小弟我看看这段代码错在哪里啊

发布时间: 2011-12-22 23:36:25 作者: rapoo

谁能帮我看看这段代码错在哪里啊
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,l = 0;
byte b[] = new byte[2];

System.out.print( "Please enter the wanting number : ");
a = in.read(b,0,2);

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( "NO found! ");
out.flush();
}
else
System.out.println( "Found! ");
}
}
请问这个程序错在哪里啊?为什么l的值总是1呢?
还有就是out.write(b,0,1)这一句有什么作用呢?


[解决办法]
测试了下,
a = in.read(b,0,2);
这里,总是得到2
那就是逻辑错误了
[解决办法]
为什么l的值总是1呢?====> a = in.read(b,0,2); 中的Read 函返回的是取的字,你入什麽值, 返回的就是2字
还有就是out.write(b,0,1)这一句有什么作用呢?====> b 入的,指用out引用象指向,然後些行出.
[解决办法]
a = in.read(b,0,2);
这个是读取的字节数,当然所有的都是2

读书人网 >J2SE开发

热点推荐