会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132437个问题
JAVA 全系列/第十一阶段:智能家居项目(旧)/至尊智能家居第一天 19426楼

import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeMap;


/*  元素自身实现比较规则  */
public class TestTreeMap {

    public static void main(String[] args) {
        //实例化TreeMap
        Map<Users,String> map = new TreeMap<>();
        Users u1 = new Users("oldlu",18);
        Users u2 = new Users("admin",22);
        Users u3 = new Users("sxt",22);

        // 添加
        map.put(u1,"oldlu");
        map.put(u2,"admin");
        map.put(u3,"sxt");
        System.out.println(map.get(u3));

        // 遍历
        Set<Users> set = map.keySet();
        for(Users users:set){
            Users key = users;
            String val = map.get(key);
            System.out.println(key+" --- "+val);
        }

    }

}

class Users implements Comparable<Users>{
    private String usersName;
    private int usersAge;

    public Users() {
    }

    public Users(String usersName, int usersAge) {
        this.usersName = usersName;
        this.usersAge = usersAge;
    }

    public String getUsersName() {
        return usersName;
    }

    public void setUsersName(String usersName) {
        this.usersName = usersName;
    }

    public int getUsersAge() {
        return usersAge;
    }

    public void setUsersAge(int usersAge) {
        this.usersAge = usersAge;
    }

    @Override
    public String toString() {
        return "姓名:" + usersName + "    年龄:" + usersAge;
    }

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

    @Override
    public int hashCode() {
        return Objects.hash(usersName, usersAge);
    }

    @Override
    public int compareTo(Users o) {
        // 比较年龄 由小到大
        if(this.usersAge < o.getUsersAge()){
            return 1;
        }
        // 如果年龄相等 按名字排序
        if(this.usersAge == o.getUsersAge()){
            this.usersName.compareTo(o.getUsersName());
        }
        return -1;
    }
}

image.png

value值为什么是null?


JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 19429楼

package collection.stu.com;

import java.util.Stack;

/**
 * 测试Stack,判断一个字符串是否对称
 * 假设修正法;
 * */
public class StackTest01 {
    public static void main(String[] args) {
        String str1="(({{[[]]}})){";
        String str2="(({{[[[]]}}))";
        String str3="([{}])";
        StackTest01.getString(str1);
        StackTest01.getString(str2);
        StackTest01.getString(str3);
    }
    public static void getString(String str1){
        boolean flag=true;
        Stack<String> stack=new Stack<>();
        for (int i=0;i<str1.length();i++){
            char c1=str1.charAt(i);
            if (c1=='('){
                stack.push(")");
            }
            if (c1=='{'){
                stack.push("}");
            }
            if (c1=='['){
                stack.push("]");
            }
            if (c1==')'||c1=='}'||c1==']'){
                if (stack.empty()){
                    flag=false;
                   break;
                }
                String str2=stack.pop();
                if (str2.charAt(0)!=c1){
                    flag=false;
                    break;
                }
            }
            if (!stack.empty()){
                flag=false;
                break;
            }
        }
     System.out.println(flag);
    }
}

false

false

false

全是false,最后一个应该是true,老师麻烦看看;

JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 19430楼
Python 全系列/第十阶段:Flask百战电商后台项目/Flask百战电商后台项目 19432楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 19433楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 19434楼

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class n4_OneWaySocketServer {
    public static void main(String[] args) {
        Socket socket =null;
        BufferedReader br = null;
        PrintWriter pw =null;

        try {
            ServerSocket serverSocket = new ServerSocket(8888);
            System.out.println("服务端启动开始监听");
            socket = serverSocket.accept();

            System.out.println("链接成功...");
            //读取客户端的消息
            br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            //协会消息流对象
            pw = new PrintWriter(socket.getOutputStream());

            while(true){
               
                String str = br.readLine();
                System.out.println("客户端说:" + str);
                if ("exit".equals(str)){
                    break;
                }
                pw.println(str);
                pw.flush();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (br!=null){
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (pw!=null){
                pw.close();
            }
            if (socket!=null){
                try {
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }

    }
}
1.服务端中的while循环里面有    String str = br.readLine();   这个读取操作是不是没有东西读就会一直卡着,直到有新的东西传过来,不然的话是不是就会出现服务器说null null null这样的?

2.br.close  socket.close向这些  什么流啊,socket,scanner对象关闭顺序是什么

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 19435楼
Python 全系列/第一阶段:Python入门/编程基本概念 19436楼
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 19437楼
JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 19438楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 19439楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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