最赞回答 / 在路上_3498046
在学生类里面重写一下toString方法,如下:@Override public String toString() { return "Students [number=" + getNumber() + ", name=" + getName() + ", age=" + getAge() + "]"; }就可以了,加油!!!
2016-10-03
已采纳回答 / 远方的云o
这两个的差别,实际上是read()方法两种重载方式的差别。in.read()表示单字节读取,相当于一滴一滴水(字节)地去洒in.read(byte[] buf ,int start ,int size )表示字节先读取到buf缓冲区,start表示缓冲区的起始位置,size表示存入缓冲区的大小。这种方式相当于先把一滴一滴水(字节)放到一个桶(buf)里,当然这个桶肯定有大小(size),当桶里的水达到一定程度(缓冲区的极限)时,再将整个桶里的水洒出去。授人以鱼不如授人以渔详细课程可以去看看 慕课网Java...
2016-10-03
最赞回答 / yjh不畏
那是因为你if这行加了一个分号。相当于if 条件 空执行 加分号 。后面的SYSO已经不受IF约束,为每次都运行的语句了。IF只能控制后面紧跟的花括号中的内容,或者是紧跟的一个分号前的内容
2016-10-02
最新回答 / leowei
肯定是 最后一次读的时候,字节数不够64个 ,比如说是30个 你却多读了34个byte buffer[]=new byte[64];int num;// 记录用数组读数据的个数while((num=in.read(buffer,0,buffer.length))!=-1){ System.out.println(new String(buffer,0,num))//这个时候num就是30 了,就不会多读了}说了半天,循环读的时候,只是利用了一个字节数组,如果第一次读满了64个,假如第二次读3...
2016-10-02