老师我这哪里转错了
这是什么情况
老师,我这里有个小问题,不是说声明整型变量的时候需要初始化吗,在内部类Itr中cursor变量并没有初始化然后就直接赋给了i,为什么这样是允许的?
老师好,跟前面这位同学的问题差不多,代码基本和老师的一致:
唯一的区别就是把MyChannel 中的方法没有传参,直接在send()方法内部调用receive()方法
Channel类代码如下:
package com.sxt.chat; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.util.List; public class MyChannel implements Runnable{ private DataInputStream dis; private DataOutputStream dos; private boolean flag; public MyChannel() { this.flag = true; } public MyChannel(Socket socket) { this(); try { dis = new DataInputStream(socket.getInputStream()); dos = new DataOutputStream(socket.getOutputStream()); } catch (IOException e) { this.flag = false; e.printStackTrace(); CloseUtil.closeAll(dos,dis); } } public String receive() { String str = null; try { str = dis.readUTF(); } catch (IOException e) { this.flag = false; e.printStackTrace(); CloseUtil.closeAll(dis,dos); Server.list.remove(this); } return str; } public void send() { String str = receive(); try { if(str != null && str.length() != 0) { dos.writeUTF(str); } } catch (IOException e) { this.flag = false; e.printStackTrace(); CloseUtil.closeAll(dos,dis); Server.list.remove(this); } } public void sendOthers() { // String str = this.receive(); List<MyChannel> others = Server.list; for (MyChannel myChannel : others) { if (myChannel != this) { myChannel.send(); } } } @Override public void run() { while(flag) { sendOthers(); } } }
运行时报错:
如果把send改成传参 不在send内部调用receive方法,就能正常运行,
老师能帮看看是什么原因吗? 这个问题困扰我几天了
源码:
错误版:
ChatProject2_errro.zip
正常版:
ChatProject2.zip
两个版本就只有Channel类几行代码不同
老师,在实操作业当中eclipse如何为java项目生成API文档、javaDoc那个链接中,我按照教程步骤,最后还是出现了以下错误,这是请问这是什么情况啊?
以下便是我的步骤:
我的JDK版本是1.8的
如果中转站读取的 > bufferInputStream的8192。效率还是会比fileInputStream高吗
老师,我不明白为什么类名后面要加<E>,什么意思?
问个问题
用一种解析法就能解析XML文档,为什么会学四种,难道说工作中有不同的情况需要用到不同的解析法?还是说这四种解析法可以互补其他解析器中的缺点?
老师,为什么单线程启动服务器创建Servlet对象的时候不会报空指针异常而加了多线程之后才有/favicon.con的url出现呢
老师,从实现方式上看doGet和doPost方法好像没有区别,登录的验证方法分别写在这两个里面有什么不一样吗,如果一样,那为什么要声明两个抽象方法不直接声明一个就好了呢
用Schema验证之后,为什么XML文档还有这个警告的叹号!
还是说只要DTD验证才能会没有这个叹号~
老师,这里我没有加上utf-8字符编码反而能成功输出,加了反而乱码是什么情况呢
// 通过流输出到客户端 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); bw.write(sb.toString()); bw.flush(); bw.close();
// 通过流输出到客户端 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(),"utf-8")); bw.write(sb.toString()); bw.flush(); bw.close();
老师,追加响应文本的时候不能sbContent.toString.length()直接获取到文本长度吗,为什么要先得到byte数组再取数组的长度呢?
为什么会输出xml文档xsd空间路径呢:
为什么我这个不能有这个老师的可以有
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637