a=in.read(b,0,2);得到的是你读取的字节数,所以一直是2,b中得到的才是内容
解决方案 »
- 求大神帮忙!这个程序数组为什么会溢出?
- 编程思想中关于线程启动的一个疑问
- java问题。。。懂的进来帮忙看看
- 怎么在表格中添加复选框
- 请教各位一个quartz公式的问题。
- 高分求21cn的面试题目,java工程师的,有那位大哥大姐去面试过的,可以把题目贴上来吗????万分感谢!!!
- 问一个数据连接的编码问题
- 刚开始学习java,用什么工具好,哪里有下载,各位赐教
- 初学者的疑问:JBuilder8如何调试Applet
- 为何父类构造,子类构造都没有执行。问题在哪里,我新手找不出来,求大神解答?
- session 的跨服务器(跨JVM)如何使用呢
- 很着急,怎样换char的字符4转换成INT型的字符4?
晕了~~
楼上说得对,in.read(b,0,2)返回的是读入的byte数,当然是2了~~
a=in.read(b,0,2);
String s=new String(b);
a=Integer.parseInt(s.trim());这样获取读入的数据2、循环有问题
for(int i=0;i<6;i++)
{
if(y[i]==a)
l=1;
break;
}
这样只运行一次循环,因为break总被执行,应该是
for(int i=0;i<6;i++)
{
if(y[i]==a){
l=1;
break;
}
}程序如下: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);
String s=new String(b);
a=Integer.parseInt(s.trim());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("ÕÒµ½£¡");
}
}