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

NODE_LIST = [
    {'data': 60, 'left': 12, 'right': 90, 'is_root': True},
    {'data': 12, 'left': 4, 'right': 41, 'is_root': False},
    {'data': 4, 'left': 1, 'right': None, 'is_root': False},
    {'data': 1, 'left': None, 'right': None, 'is_root': False},
    {'data': 41, 'left': 29, 'right': None, 'is_root': False},
    {'data': 29, 'left': 23, 'right': 37, 'is_root': False},
    {'data': 23, 'left': None, 'right': None, 'is_root': False},
    {'data': 37, 'left': None, 'right': None, 'is_root': False},
    {'data': 90, 'left': 71, 'right': 100, 'is_root': False},
    {'data': 71, 'left': None, 'right': 84, 'is_root': False},
    {'data': 100, 'left': None, 'right': None, 'is_root': False},
    {'data': 84, 'left': None, 'right': None, 'is_root': False},
]


class Node():
    def __init__(self, date, left=None, right=None):
        self.date = date
        self.left = left
        self.right = right

    def __str__(self):
        return "数据是:{}".format(self.date)


class Tree():
    def __init__(self, root=None):
        self.root = root

    def install_date(self, dates):
        node_list = {}
        for n in dates:
            node = Node(n['data'], n['left'], n['right'])
            node_list[n['data']] = node
        for m in dates:
            node = node_list[m['data']]
            if node.left:
                node.left = node_list[node.left]
            if node.right:
                node.right = node_list[node.right]
            if m["is_root"]:
                self.root = node

    def search(self, subtree, value):
        if subtree is None:
            return None
        elif subtree.date > value:
            return self.search(subtree.left, value)
        elif subtree.date < value:
            return self.search(subtree.right, value)
        else:
            return subtree

    def iter_node(self, node):
        if node:
            print(node.date)
            self.iter_node(node.left)
            self.iter_node(node.right)

    def get_min(self, subtree):
        if subtree is None:
            return None
        elif subtree.left:
            return self.get_min(subtree.left)
        else:
            return subtree

    def add(self, value):
        node = self.search(self.root, value)
        if node:
            return False
        else:
            self.root = self.insert_data(self.root,value)
            return True

    def insert_data(self, subtress, value):
        if subtress is None:
            subtress = Node(value)
        elif subtress.date > value:
            subtress.left = self.insert_data(subtress.left, value)
        else:
            subtress.right = self.insert_data(subtress.right, value)
        return subtress

2ce896b4ed6db4bbbca712daaf627e9.png老师,我这里为啥曝出 重复代码片段,我找不到哪里重复了

Python 全系列/第十七阶段:数据结构与算法/算法与数据结构(旧) 25622楼
Python 全系列/第十六阶段:Python 爬虫开发/移动端爬虫开发- 25623楼
JAVA 全系列/第十九阶段:亿级高并发电商项目/广告管理 25625楼
Python 全系列/第一阶段:AI驱动的Python编程/控制语句 25626楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/MySQL数据库 25628楼
WEB前端全系列/第十九阶段:Vue2知识体系(旧)/Vue基础知识 25630楼
Python 全系列/第七阶段:网页编程基础/jquery 25632楼
Python 全系列/第十六阶段:Python 爬虫开发/爬虫基础(旧) 25633楼

//老师,我想问一下我这出现乱码怎么解决也加入utf-8这个格式了还是乱码

package com.bjsxt.server;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class Server3 {
    public static void main(String[] args) {
        String CRLF = "\r\n";//换行
        String BLANK= " ";
        //(1)创建ServerSocket对象
        ServerSocket server = null;
        Socket client = null;
        InputStream is = null;

        try {
            server = new ServerSocket(8888);
            //(2)监听是否有客户端发送请求
            client = server.accept();
            //获取来自浏览器的请求信息
            is = client.getInputStream();
            byte[] buf = new byte[20480];
            int len = is.read(buf);
            System.out.println(new String(buf,0,len));
            /*对web浏览器的请求作出响应*/
            StringBuilder sb = new StringBuilder();
            StringBuilder sbContent = new StringBuilder();//响应的文本
            sbContent.append("<html><head><title>响应结果</title></head>");
            sbContent.append("<body>登陆成功</body></html>");
            //(1)拼接响应头
            sb.append("HTTP/1.1").append(BLANK).append(200).append(BLANK).append("OK");
            sb.append(CRLF);
            sb.append("Content-Type:text/html;charset=uft-8");
            sb.append(CRLF);
            sb.append("Content-Length:").append(sbContent.toString().getBytes().length).append(CRLF);
            sb.append(CRLF);//换行,代表响应头与响应正文部门之间的空行
            sb.append(sbContent);
            //通过流输出
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(),"utf-8"));
            bw.write(sb.toString());
            bw.flush();
            bw.close();

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

            //(6)关闭流
            IOClose.closeAll(is, client, server);
        }
        }

}


image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 25634楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/异常机制 25635楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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