老师 我之前安装的是14.几的版本,配合这个项目影响使用吗??????
Set<String> set = new HashSet<>(); set.add("c"); set.add(null); set.add("a"); Iterator<String> it = set.iterator(); if( it.hasNext()){ String next = it.next(); System.out.println(next); } System.out.println("1 "+it.next()); System.out.println("--------while-------"); Iterator<String> it2 = set.iterator(); while(it2.hasNext()){ String str = it2.next(); System.out.print(str+" "); }
Set集合允许有null
问题1:获取单个元素时,为什么第一个it.next()输出1 null 第二个反而是2 a,而且如果第一输出的是null那么不就代表it.hasNext()是false么,因为他是null啊
问题2:那么it2.hasNext()就为false,为什么还能循环输出第三个元素?
问题4:如果把null改为b输出的是1 a 和 2 b,把b给为33输出结果是1 33和2 a,这是因为set接口的无序性导致的么?根据哈希值计算存储的原因
结果:
老师 我没理解 为什么 通过这种方式 会报错 不理解什么意思
加了encoding='utf-8'然后就报错了应该怎么改
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; /** *发送消息的线程 */ class send extends Thread{ //与客户端对应的socket对象 private Socket socket; public send(Socket socket){ //构造器,用于传递socket this.socket=socket; } @Override public void run() { this.sendMsg(); } //定义发送消息的方法 private void sendMsg(){ //对于消息的发送需要创建两个对象,1.消息的来源:需要创建键盘输入对象 2.需要创建输出流对象 try(Scanner scanner = new Scanner(System.in); PrintWriter pw =new PrintWriter(socket.getOutputStream());){ while(true){ String msg = scanner.nextLine(); pw.println(msg); pw.flush(); } }catch (Exception e){ e.printStackTrace(); } } } /** *接收消息的线程 */ class receive extends Thread{ //创建与客户端对应的socket对象 private Socket socket; public receive(Socket socket){//构造器,用于传递socket this.socket=socket; } @Override public void run() { this.receiveMsg(); } //定义接受消息的方法 private void receiveMsg(){ //创建输入对象流,字节转字符,字符处理流 try(BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()))){ while (true){ String str =br.readLine(); System.out.println("客户端说:"+str); } }catch (Exception e){ e.printStackTrace(); } } } public class ChatSocketSever { public static void main(String[] args) { try(ServerSocket serverSocket = new ServerSocket(8888)){ System.out.println("服务端启动中,等待链接....."); //创建与客户端链接时的socket对象 Socket socket = new Socket(); System.out.println("连接成功!"); //将与客服端对应的socket对象传递给发送消息的线程,并启动该线程 new send(socket).start(); //将与客户端对应的socket对象传递给接受消息的线程,并启动该线程 new receive(socket).start(); }catch (Exception e){ e.printStackTrace(); } } }
老师我这上面为啥一写注释就老是报错呢,比如#内容,下面是代码,一执行就报#注释那行
当我打开第二个goodTCP出现报错现象
这里两个方法名称是一样的,这里怎么识别呢?
老师这个什么意思
请问一下老师,为什么我创建的就没有那两个文件,也就没有报错。
是电脑的问题还是,代码感觉写的对但是不运行
老师,接上一个问题,就这种的 为啥需要变成字符串 比如那个name 没有直接输出,而是转成字符串
请问为什么使用void方法? void study(){ System.out.println("我在认真学习!!"+comp.brand); }
我英语很差,这节课完全没听懂,不知道老师说的的英语名称是前面代码中的什么东西,咋整?
这个不是说一个a和一个b如果使用这个代码输出里面会有多个a和多个b
如何可以保证里面只有一个a和一个b
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637