这个窗口的快捷键是什么
老师,代码里的super(name)是不是可以用this.name=name替代
package com.xhcxy; import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; /** * 发送消息的线程Send1 */ class Send1 extends Thread{ private Socket socket; private Scanner scanner; public Send1(Socket socket,Scanner scanner){ this.socket = socket; this.scanner = scanner; } @Override public void run() { this.send1Mgs(); } public void send1Mgs(){ Scanner scanner = null; PrintWriter pw = null; try { scanner = new Scanner(System.in); pw = new PrintWriter(this.socket.getOutputStream()); while (true){ String mgs = scanner.nextLine(); pw.println(mgs); pw.flush(); } }catch (Exception e){ e.printStackTrace(); }finally { if (scanner !=null){ scanner.close(); } if (pw != null){ pw.close(); } if (this.socket != null){ try { this.socket .close(); } catch (IOException e) { e.printStackTrace(); } } } } } /** * 接收消息的线程Receive1 */ class Receive1 extends Thread{ private Socket socket; public Receive1(Socket socket){ this.socket = socket; } @Override public void run() { super.run(); } public void receive1Mgs(){ BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(this.socket.getInputStream())); while (true){ String mgs = br.readLine(); System.out.println("他说:"+mgs); } }catch (Exception e){ e.printStackTrace(); }finally { if (br != null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (this.socket != null){ try { this.socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } public class GoodTcp { public static void main(String[] args) { Scanner scanner = null; ServerSocket serverSocket = null; Socket socket = null; try { scanner = new Scanner(System.in); System.out.println("请输入:server,<port>或者:<ip>,<port>"); String str = scanner.nextLine(); String[] arr = str.split(","); if ("server".equals(arr[0])){ System.out.println("TCP Server Listen at"+arr[1]+"......"); serverSocket = new ServerSocket(Integer.parseInt(arr[1])); serverSocket.accept(); System.out.println("连接成功!!"); }else { socket = new Socket(arr[0],Integer.parseInt(arr[1])); System.out.println("连接成功!!"); } new Send1(socket,scanner).start(); new Reaceice(socket).start(); }catch (Exception e){ e.printStackTrace(); }finally { if (serverSocket != null){ try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
为什么会链接成功报错,老师
这有返回值和没有返回值有什么区别吗?
为什么我这样输出 下面会多打印一次 123的呢
改成b1 又不会了
com.bjsxtjava.io.BufferedReaderjava.io.IOExceptionjava.io.InputStreamReaderjava.io.PrintWriterjava.net.ServerSocketjava.net.SocketEchoServer15 { (String[] args) { ServerSocket serverSocket = { serverSocket = ServerSocket()(){ Socket socket = serverSocket.accept()Msg(socket).start()} }(Exception e){ e.printStackTrace()}{ (serverSocket != ){ { serverSocket.close()} (IOException e) { e.printStackTrace()} } } } } Msg Thread{ Socket (Socket socket){ .= socket} () { .readMsg()} (){ BufferedReader br = PrintWriter pw = { br = BufferedReader(InputStreamReader(..getInputStream()))pw = PrintWriter(..getOutputStream())pw.println(br.readLine()+)pw.flush()} (IOException e) { System..println(..getInetAddress()+)e.printStackTrace()}{ (br != ){ { br.close()} (IOException e) { e.printStackTrace()} } (pw != ){ pw.close()} } } }
com.bjsxtjava.io.BufferedReaderjava.io.IOExceptionjava.io.InputStreamReaderjava.io.PrintWriterjava.net.ServerSocketjava.net.Socketjava.util.ScannerGoodTCP14 { (String[] args) { Scanner scanner = ServerSocket serverSocket = Socket socket = { scanner = Scanner(System.)System..println()String str = scanner.nextLine()String[] arr = str.split()(.equals(arr[])){ System..println(+arr[]+)serverSocket = ServerSocket(Integer.(arr[]))socket = serverSocket.accept()System..println()}{ socket = Socket(arr[]Integer.(arr[]))System..println()} Send1(socketscanner).start()Receive1(socket).start()} (IOException e) { e.printStackTrace()}{ (serverSocket != ){ { serverSocket.close()} (IOException e) { e.printStackTrace()} } } } } Send1 Thread{ Socket Scanner (Socket socketScanner scanner){ .= socket.= scanner} () { .sendSMag()} (){ PrintWriter pw = { pw = PrintWriter(..getOutputStream())(){ String msg = .nextLine()pw.println(msg)pw.flush()} } (IOException e) { e.printStackTrace()}{ (!= ){ .close()} (pw != ){ pw.close()} (.!= ){ { ..close()} (IOException e) { e.printStackTrace()} } } } } Receive1 Thread{ Socket (Socket socket){ .= socket} () { .receiveMsg()} (){ BufferedReader br = { br = BufferedReader(InputStreamReader(..getInputStream()))(){ String msg = br.readLine()System..println(+msg)} } (IOException e) { e.printStackTrace()}{ (br != ){ { br.close()} (IOException e) { e.printStackTrace()} } (.!= ){ { ..close()} (IOException e) { e.printStackTrace()} } } } }
他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null他说null
老师 我把自己的代码和老师代码检查了,但是没发现什么问题,但是我这个代码发送了一条消息之后 会一直打印null 麻烦老师帮忙看看
serverSocket = new ServerSocket(8888);
老师,这个语句不需要放入死循环吗?是不是代表他链接到8888端口后就不会断了,新的客户端进来链接的也只是8888端口,而不是服务器,8888端口就相当于个中介呗
图一中的remove方法,我在List接口里就找到图二这个相似的,他俩的返回值却不一样,就有点纳闷。
老师,这个toString不写也能用,这边也是属于默认加了toString的缘故吗
联合是只能在主线程里面联合其他线程吗 比如在A里面联合B
链接数据库是JDBC功能吗,是不是链接之后就具备存储功能了,然后如果我要把界面设计的更好该怎么做,我最近发现idea里有swing ui designer ,但好像不太会用,请问老师有类似的相关的教程吗
package com.sxt; import java.io.ByteArrayOutputStream; public class ByteArrayOutputDemo { public static void main(String[] args) { ByteArrayOutputStream bos = null; StringBuilder sb = new StringBuilder(); try { bos = new ByteArrayOutputStream(); bos.write('a'); bos.write('b'); bos.write('c'); byte arr[] = bos.toByteArray(); for (int i:arr) { sb.append((char) i); } System.out.println(sb.toString()); }finally { try { if (bos != null){ bos.close(); } }catch (Exception e){ e.printStackTrace(); } } } }
提问下,这里用遍历的形式无所谓吧,我用for-each遍历后所运行的结果和老师运行的一样,这样写是没什么问题的对吧
老师学的后面的忘了前面的正常吗?但是看到代码还是懂得,就是自己想写个东西的话写不出来
老师视频中写完红方框右边的代码后,然会就出现红方框中的代码,是怎么出现的,是什么快捷键啊
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637