会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132885个问题

/**
 * 创建网络编程中的服务端
 */
public class BasicSocketServer {
    public static void main(String[] args)  {
        Socket socket=null;
        BufferedReader br=null;
        try {
            ServerSocket serverSocket=new ServerSocket(8888);//此处ServerSocket构造方法中的参数是int类型的端口号
            System.out.println("服务器启动监听,等待监听。。。。。。");

            //开启端口的监听,
            // 此方法返回的是Socket对象,当前那个客户端来连接就是针对哪个客户端的Socket对象
            socket= serverSocket.accept();//可以用这个Socket对象来读取客户端发送过来的对象

            //读取客户端发送的消息,从Socket中获取的信息都是字节信息
            br=new BufferedReader(new InputStreamReader(socket.getInputStream()));

            System.out.println(br.readLine());

        } catch (IOException e) {
            e.printStackTrace();
        }finally {

                try {
                    if(br!=null){
                        br.close();
                    }

                    if(socket !=null){
                        socket.close();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }

        }
    }
}
public class BasicSocketClient {
    public static void main(String[] args) {
        Socket socket=null;
        PrintWriter pw=null;
        try {
            //创建socket 对象,在狗杂方法中需要创建两个对象:服务端的IP地址,及服务端的监听端口
            socket=new Socket(InetAddress.getLocalHost().getHostAddress(),8888);
//            socket=new Socket("127.0.0.1",8888);
            pw=new PrintWriter(socket.getOutputStream());
            pw.println("服务端你好");
            pw.flush();

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if(pw !=null){
                pw.close();
            }
            if(socket !=null){
                try {
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }


    }
}

显示:

image.png



问题: 访问控制台没有东西输出

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 871楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 872楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 874楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/异常机制 875楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 877楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 879楼

运行出来,年龄相等的情况下不按照字母顺序排序呢?

package 容器;

import java.util.Objects;

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

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

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

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

    public Users() {
    }

    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 "Users{" +
                "username='" + username + '\'' +
                ", userage=" + userage +
                '}';
    }

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

}

System.out.println("==================");
Set<Users> set2=new TreeSet<>();
Users u=new Users("wzx",22);
Users u2=new Users("jxm",18);
Users u3=new Users("lyx",18);
Users u4=new Users("yj",18);
set2.add(u);
set2.add(u2);
set2.add(u3);
set2.add(u4);
for (Users users:set2){
    System.out.println(users);
}


18.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 881楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 883楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 884楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 885楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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