会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132432个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 2731楼



服务器端:

package com.sxt.a1;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Test {
	

	public static void main(String[] args) throws IOException {
		System.out.println("=====服务器端已启动=======");
		//(1)创建ServerSocket对象
		ServerSocket server = new ServerSocket(9999);
		//(2)监听是否有客户端发送请求连接
		Socket client = server.accept();
		//(3)获取输入流
		InputStream is = client.getInputStream();
		System.out.println((char)is.read());
		//(4)获取输出流
		OutputStream os = client.getOutputStream();
		
		os.write("收到了".getBytes());
		
		//(5)关闭流,关闭Socket
		if(os!=null) {
			os.close();
		}
		if(is!=null) {
			is.close();
		}
		if(client!=null) {
			client.close();
		}
	}
	
}
	
	

	
	


客户端:

package com.sxt.a2;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;


public class Test {
	public static void main(String[] args) throws IOException {
		System.out.println("=========客户端============");
		//(1)创建Socket对象
		Socket client = new Socket("198.168.31.113",9999);
		//(2)获取输出流
		OutputStream os = client.getOutputStream();
		os.write('a');
		//(3)获取输入流
		InputStream is = client.getInputStream();
		byte[] buf = new byte[1024];//中转站
		
		int len = 0;//读到的字节的个数
		while((len = is.read(buf))!=-1) {
			System.out.println(new String(buf,0,len));
		}
		//(4)关闭流
		
		if(is!=null) {
			is.close();
		}
		if(os!=null) {
			client.close();
		}
	
	}
}

运行结果:

服务器端:

blob.png


客户端

blob.png


老师你好,我先启动的服务器端,然后启动客户端,都启动了,运行正常但是没有任何动静(消息传动),老师连接视频上连接都有:“收到了”和“a”的传送,我的过了一段时间客户端报异常了,是网络连接超时,为什么我的服务器端和客户端连接不上呢?

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2739楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 2741楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/Lambda表达式(旧) 2742楼

老师,请问年龄相同比较姓名时,为什么遍历时只打印出了u2啊

package com.bjsxt;

import java.util.Set;
import java.util.TreeSet;

public class TreeSetTest {
    public static void main(String[] args) {
        Set<String> set =new TreeSet<>();
        set.add("a");
        set.add("d");
        set.add("b");
        set.add("c");
        set.add("a");
        for(String str:set){
            System.out.println(str);
        }
        System.out.println("---------------");
        Set<UserTest> set1=new TreeSet<>();
        UserTest u=new UserTest("huo",22);
        UserTest u1=new UserTest("hui",22);
        UserTest u2=new UserTest("yao",23);
        set1.add(u2);
        set1.add(u);
        set1.add(u1);
        for(UserTest user:set1){
            System.out.println(user);
        }
    }
}
package com.bjsxt;

import java.util.Objects;

public class UserTest implements Comparable<UserTest>{
    private String username;
    private int userage;

    public UserTest(){};

    public UserTest(String username, int userage) {
        this.username = username;
        this.userage = userage;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getUserage() {
        return userage;
    }

    public void setUserage(int userage) {
        this.userage = userage;
    }

    @Override
    public String toString() {
        return "UserTest{" +
                "username='" + username + '\'' +
                ", userage=" + userage +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        UserTest userTest = (UserTest) o;
        return userage == userTest.userage &&
                Objects.equals(username, userTest.username);
    }

    @Override
    public int hashCode() {
        return Objects.hash(username, userage);
    }

    //定义比较规则
    //整数:大  负数:小   0:相等
    @Override
    public int compareTo(UserTest o) {
        if(this.userage>o.getUserage()){
            return 1;
        }
        if(this.username==o.username){
            return this.username.compareTo((o.getUsername()));
        }

        return 0;
    }
}
"C:\Program Files\Java\jdk-14.0.2\bin\java.exe" "-javaagent:D:\IntelliJ IDEA 2020.2.1\lib\idea_rt.jar=62395:D:\IntelliJ IDEA 2020.2.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\86155\IdeaProjects\arrayPro\out\production\Container com.bjsxt.TreeSetTest
a
b
c
d
---------------
UserTest{username='yao', userage=23}

Process finished with exit code 0


JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 2743楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 2745楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637