老师,我这里有个小问题,不是说声明整型变量的时候需要初始化吗,在内部类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类几行代码不同
老师,您好,在从控制台读取字符串的知识点中,视频是这样写:myname=input('请输入名字:'),前几节有说标识符中函数名是全小写字母,且多个单词用下划线隔开,是因为这里的myname不是函数名,所以不用写成my_name吗?
下面的压缩包是根据本节视频敲的代码,运行时有个问题不太清楚,在运行App.java时,如果存在@ServletComponentScan这个注解,则可以访问执行到FirstFilter和SecondFilter两个监听器,但是把这个注解去掉后,就访问不到FirstFilter了,但是仍然可以访问SecondFilter;此外,在APP2.java中,该类并没有@ServletComponentScan注解,而是使用方法的形式进行注册Listener,那么访问到SecondListener是理所当然的,但是运行App2.java时,也同时访问到了FirstFilter
针对以上描述,问题如下:
为什么App.java中可以访问到SecondFilter??(SecondFilter里面并没有添加@WebListener注解)
为什么App2.java中可以访问到FirstFilter,(App2.java并没有添加@ServletComponentScan注解)
源代码如下:
04-spring-boot-listener.zip
感谢老师解答
>>> a = 'asdasdas'
>>> a[0]
'a'
>>> a[1;5]
SyntaxError: invalid syntax
>>>
我取切片的时候就显示这个,报错
navicat工具问题
在查询窗口里创建了表或者对数据库做了其他操作结构操作,navicat的自动完成提示为什么没有自动更新?
使用use切换使用的数据库再切换回来也没有用,只有点击上面数据库下拉列表切换一下后,自动完成提示才能出现新的表和结构
请问该怎么解决?如图
老师,在4分54秒您说3964计算机转换为010101,这个是怎么算的呢?算不出
老师,您好,is是比==效率高,是因为==是调用对象的方法,这个怎么理解呢 ?还有点转不过头绪来
老师,您好,PPT上写保存为文件执行时,解释器会做一部分优化,范围是(-5,任意正整数),我试了,把a和b都在这个范围内,但是我去的是小数,(浮点数),运行结果还是True,那为什么要强调任意整数呢?小数也OK。
加入小房子图标时为什么用i标签,之前学的i标签是使字体变为斜体
老师问下下边给单行代码添加注释,有快捷键么?
/*通用选择器 *代表该页面中的所有的元素 */
<!--<p style="color: red;">我们不一样</p><!--键值对的方式存在的,color不是属性是样式了!快
老师,我按照上节课的安装步骤安装Oracle完成以后,目录只有以下两个:
请问老师这是怎么回事啊?
还有一个问题就是:如果我们以后要去工作了,安装Oracle要安装企业版的吗?那到时候就得先卸载本次课安装的个人版的Oracle再安装企业版的吧?
老师,我的在安装这一步的时候,出现了以下情况!
问题:为何这句话有时候会出现是2个,有时候会出现3个,这个线程不是同一刻发出的吗?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637