初学Java小案例(一)

news2024/11/24 20:20:38

目录

案例一:买飞机票

案例二:开发验证码

案例三:评委打分

案例四:数字加密

案例五:数组拷贝

案例六:抢红包

案例七:找素数的三种方法

案例八:打印乘法口诀表

案例九:打印三角形

案例十:模拟双色球


案例一:买飞机票

我的思考:

 用 if 语句分割开淡旺季,再分别在淡旺季中区分两种舱的价格。

我的初步代码:

 逻辑非常简单,没有问题,但是感觉代码写的冗余不清晰,明明非常简单的几步感觉被复杂化了,所以写代码必须简洁明了,简单易懂。

尤其时main函数主体内的代码要少,几行之内搞定是最好的,可以将繁冗的代码封装成方法,减少main函数中的代码:

案例二:开发验证码

 

我的思考:

首先,生成的验证码位数是需要我们输入确定的。每一位可以用一个字符表示(数字就是数字字符 '0' ~ '9'),可以用随机数确定每一位是数字字符还是大小写字母。

每一位可以通过字符串拼接的方式 ' + ' 来实现单个字符变成字符串。

数字字符容易用随机数生成,大小写字母其实就是ASCLL码,也可以通过随机数生成。

我的代码:

案例三:评委打分

 

案例四:数字加密

我的思考:

首先输入的是字符串,在字符串中改变每一位数字并不方便,于是我设置了一个字符数组接收字符串,对每一位的数字进行算术运算字符并不好处理,于是我设置了一个整型临时变量,循环地处理每一位的算术运算,再将算好的整型数字转化成字符放到字符数组中去。返回数组的地址,在main函数中用一个字符串接收,最后打印出来。

我的代码: 

public class test_01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入原始密码:");
        String ori_code = sc.next();
        String codes = new String(encryption(ori_code));
        System.out.println("加密后的密码是:" + codes);
    }

    public static char[] encryption(String ori_code){
        assert(ori_code != null);
        char[] code = new char[ori_code.length()];
        for (int i = 0; i < code.length; i++) {
            int temp = 0;
            temp = ori_code.charAt(i)-'0';
            temp += 5;
            temp %= 10;
            code[i] = (char)(temp+'0');
        }
        for(int i = 0,j = ori_code.length()-1;i < j;i++,j--){
            char tmp = code[i];
            code[i] = code[j];
            code[j] = tmp;
        }
        return code;
    }
}

案例五:数组拷贝

 我的思考:

复制一个内容一样的数组很容易,关键在于这题需要的是一模一样的数组,那也就是说连地址都相同,所以需要把旧数组的地址赋给新数组。

我的代码:

public class test_01 {
    public static void main(String[] args) {
        int[] arr = {11,22,33};
        System.out.println(Arrays.toString(copy(arr)));
    }
    public static int[] copy(int[] arr){
        int[] copy_arr = new int[arr.length];
        copy_arr = arr;
        for (int i = 0; i < arr.length; i++) {
            copy_arr[i] = arr[i];
        }
        System.out.println(copy_arr);
        System.out.println(arr);
        return copy_arr;
    }
}

 

 

案例六:抢红包

我的思考:

一共有五个数据,可以存放在整型数组中,用switch语句分别处理每种抽到的情况,用随机数控制switch语句的执行。

关键在于每个数只能抽到一次,可以在循环中处理重复情况。(我没想到简便的处理方法,就是很僵硬地设置了5个计数器分别对应5种抽奖结果,抽到过地break)

我的代码:

public class test_01 {
    public static void main(String[] args) {
        int[] arr = {9,666,188,520,99999};
        extractRedEnvelopes(arr);
    }
    public static void extractRedEnvelopes(int[] arr){
        System.out.println("有五个红包,分别是9,666,188,520,99999的");
        System.out.println("现在开始直播抽取红包");
        Random r = new Random();
        int count1 = 0,count2 = 0,count3 = 0,count4 = 0,count5 = 0;
        while(count1 + count2 + count3 + count4 + count5 != 5){
            System.out.println("请按任意键开始抽奖");
            Scanner sc = new Scanner(System.in);
            String s = sc.next();
            if (s.equals("1")) {
                int random = r.nextInt(5); //0~4
                switch (random) {
                    case 0:
                        if (count1 == 1)
                        {
                            System.out.println("很抱歉,你没抽到");
                            break;
                        }
                        System.out.println("恭喜你,你抽到了," + 6);
                        count1++;
                        break;
                    case 1:
                        if (count2 == 1)
                        {
                            System.out.println("很抱歉,你没抽到");
                            break;
                        }
                        System.out.println("恭喜你,你抽到了," + 188);
                        count2++;
                        break;
                    case 2:
                        if (count3 == 1)
                        {
                            System.out.println("很抱歉,你没抽到");
                            break;
                        }
                        System.out.println("恭喜你,你抽到了," + 666);
                        count3++;
                        break;
                    case 3:
                        if (count4 == 1)
                        {
                            System.out.println("很抱歉,你没抽到");
                            break;
                        }
                        System.out.println("恭喜你,你抽到了," + 520);
                        count4++;
                        break;
                    case 4:
                        if (count5 == 1)
                        {
                            System.out.println("很抱歉,你没抽到");
                            break;
                        }
                        System.out.println("恭喜你,你抽到了," + 99999);
                        count5++;
                        break;
                    default:
                        System.out.println("出错了,请重试");
                        break;
                }
            } else {
                System.out.println("请输入正确的键以开始抽奖");
                return;
            }
        }

    }
}

 可以看到代码十分冗余繁杂,来看看老师是怎么实现的:

下面有两种方案,方案一和上面类似,都存在效率低下,可能多次重复寻找的问题。

方案一:

数组中每个位置的值代表红包金额,取的时候看该位置值是否为0,是0则继续循环寻找;不是0则取该数并将该位置的值置为0.

代码:

public class test_01 {
    public static void main(String[] args) {
        int[] arr = {9,666,188,520,99999};
        extractRedEnvelopes(arr);
    }
    public static void extractRedEnvelopes(int[] arr){
        System.out.println("有五个红包,分别是9,666,188,520,99999的");
        System.out.println("现在开始直播抽取红包");
        for (int i = 0; i < arr.length; i++) {
            System.out.println("输入任意内容开始抢红包");
            Scanner sc = new Scanner(System.in);
            sc.next();
            while (true){
                Random r = new Random();
                int money = r.nextInt(arr.length);
                if(arr[money] != 0){
                    System.out.println("恭喜你,你抢到了"+arr[money]);
                    arr[money] = 0;
                    break;
                }
                else{
                    System.out.println("抱歉,你没抢到");
                }
            }
        }
    }
}

方案二:

可以将初始红包的顺序打乱,也就是将数组中的数据顺序打乱,然后根据先来后到分配给抢红包的用户,这样有多少个红包就是分发多少次,不会出现重复查找效率低下的情况。

那么关键就在于打乱数组数据,可以依次遍历数组元素,根据随机索引调换数据位置,以达到打乱数据的效果。

代码:

public class test_01 {
    public static void main(String[] args) {
        extractRedEnvelopes();
    }
    public static void extractRedEnvelopes(){
        System.out.println("有五个红包,分别是9,666,188,520,99999的");
        System.out.println("现在开始直播抽取红包");
        System.out.println("输入任意内容开始抽取");
        int[] arr = {9,666,188,520,99999};
        disruptingData (arr); //打乱数组数据
        Scanner sc = new Scanner(System.in);
        sc.next();
        for (int i = 0; i < arr.length; i++) {
            System.out.println("恭喜"+(i+1)+"号观众,"+"你抽到了"+arr[i]);
        }
    }
    public static void disruptingData(int[] arr){
        Random r = new Random();
        for (int i = 0; i < arr.length; i++) {
            int ran = r.nextInt(arr.length);
            int tmp = arr[i];
            arr[i] = arr[ran];
            arr[ran] = tmp;
        }
        }
}

案例七:找素数的三种方法

我的思考:

素数是除了1和自己本身,其他数都不能整除的数。那么就依次遍历101~200的每个数,用2~ (i-1)的数去尝试能否被整除,不能就是素数。

我的代码:

public class test_01 {
    public static void main(String[] args) {
        findingPrimeNumbers();
        }
        public static void findingPrimeNumbers(){
        int[] arr = new int[100];
        int k = 0;
            for (int i = 101; i < 200; i++) {
                int flag = 1;
                for(int j = 2; j < i-1; j++){
                    if(i % j == 0) {
                        flag = 0;
                        break;
                    }
                }
                if(flag == 1)  arr[k++] = i;

            }
            System.out.println(Arrays.toString(arr));
    }
}

这段代码效率低,因为进行了多余操作,其实不用将 2~ (i-1)的数都试一遍的,只需要一半的数字足矣。

下面来看一下老师的代码:

public class test_01 {
    public static void main(String[] args) {
        System.out.println("请输入要查找的素数范围:");
        Scanner sc = new Scanner(System.in);
        int start = sc.nextInt();
        int end = sc.nextInt();
        int count = findingPrimeNumbers(start,end);
        System.out.println("素数的个数为" + count);
        }
        public static int findingPrimeNumbers(int start,int end) {
            assert (start > 0 && end > 0 && start < end);
            int count = 0;
            for (int i = start; i <= end; i++) {
                boolean flag = true;
                for (int j = 2; j < i / 2; j++) {
                    if (i % j == 0) {
                        flag = false;
                        break;
                    }
                }
                if (flag == true) {
                    System.out.println("素数有" + i + " ");
                    count++;
                }
            }
            return count;
        }
}

 方案三

public class test_01 {
    public static void main(String[] args) {
        System.out.println("请输入要查找的素数范围:");
        Scanner sc = new Scanner(System.in);
        int start = sc.nextInt();
        int end = sc.nextInt();
        for(int i = start;i <= end; i++){
            if(findingPrimeNumbers(i)) System.out.println(i+"是素数");
        }
        }
        public static boolean findingPrimeNumbers(int num) {
            for(int i = 2;i < num/2; i++){
                if(num % i == 0) return false;
            }
            return true;
        }

这种方案就是先建立一个判断是否为素数的方法,来一个数就放到该方法中判断,更加方便,也更贴近工作中编程的思想。

 

案例八:打印乘法口诀表

我的思考:

主要是注意一个格式,内层循环外层循环的嵌套。外层行,内层列。

我的代码: 

public class test_01 {
    public static void main(String[] args) {
        for(int i = 1;i <= 9;i++){
            for(int j = 1;j <= i;j++){
                System.out.print(j+" * "+i+" = "+i*j+"  ");
            }
            System.out.println();
        }
    }
}

案例九:打印三角形

我的思考:

第一行:3空格+ 1星

第二行:2空格+3星

第三行:1空格+5星

第四行:0空格+7星

我的代码:

public class test_01 {
    public static void main(String[] args) {
        for(int i = 1;i <= 4;i++){
            for(int j = 1;j <= (4-i);j++){
                System.out.print(" ");
            }
            for (int j = i; j <= (2*i-1) ; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

案例十:模拟双色球

 

 我的思考:

如上图所示,三色球的实现需要三个方法:用户投注号码,中奖标准号码,判断中几等奖。

可以将投注号码和中奖号码存在数组中返回,最终比较投注号码和中奖号码以判断中奖情况。

我的代码:

第一次理解错了,以为是每一等中奖号码要手动输入,麻烦了很多。

public class test_01 {
    public static void main(String[] args) {
        int[] userNumbers = userSelectNumbers();
        String[] luckNumbers = creatLuckNumbers();
        judge(userNumbers,luckNumbers);
    }
    public static int[] userSelectNumbers(){
        int[] userNumbers = new int[7];
        System.out.println("请输入你的投注号码,前6位1~33,最后一位1~16");
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < userNumbers.length; i++) {
            userNumbers[i] = sc.nextInt();
            assert(userNumbers[i] > 0 && userNumbers[i] < 34);
            assert (userNumbers[6] > 0 && userNumbers[6] < 17);
        }
        return userNumbers;
    }
    public static String[] creatLuckNumbers(){
        String[] luckNumbers = new String[9];
        int[] eachNumbers = new int[7];
        for (int k = 0; k < luckNumbers.length; k++) {
            System.out.println("请输入第"+(k+1)+"级中奖号码:");
            Scanner sc = new Scanner(System.in);
            for (int i = 0; i < eachNumbers.length; i++) {
                eachNumbers[i] = sc.nextInt();
                assert(eachNumbers[i] > 0 && eachNumbers[i] < 34);
                assert (eachNumbers[8] > 0 && eachNumbers[8] < 17);
            }
            luckNumbers[k] = Arrays.toString(eachNumbers);
            System.out.println((k+1)+"级中奖号码是:"+ Arrays.toString(eachNumbers));
        }
        return luckNumbers;
    }
    public static void judge(int[] userNumbers,String[] luckNumbers){
        for(int i = 0;i < luckNumbers.length;i++){
            if(Arrays.toString(userNumbers).equals(luckNumbers[i])){
                switch (i){
                    case 0:
                        System.out.println("恭喜你,中了一等奖");
                        break;
                    case 1:
                        System.out.println("恭喜你,中了二等奖");
                        break;
                    case 2,3:
                        System.out.println("恭喜你,中了三等奖");
                        break;
                    case 4,5:
                        System.out.println("恭喜你,中了四等奖");
                        break;
                    case 6,7:
                        System.out.println("恭喜你,中了五等奖");
                        break;
                    case 8,9:
                        System.out.println("恭喜你,中了六等奖");
                        break;
                }
            }
            else System.out.println("很抱歉,你没中奖。");
        }
    }
}

改正:

public class test_01 {
    public static void main(String[] args) {
        int[] userNumbers = userSelectNumbers();
        int[] luckNumbers = creatLuckNumbers();
        judge(userNumbers,luckNumbers);
    }
    public static int[] userSelectNumbers(){
        int[] userNumbers = new int[7];
        System.out.println("请输入你的投注号码,前6位1~33,最后一位1~16");
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < userNumbers.length; i++) {
            userNumbers[i] = sc.nextInt();
            if(userNumbers[i] < 1 || userNumbers[i] > 33) {
                System.out.println("请输入合法的号码");
                System.exit(-1);
            }
            for(int j = 0;j < i;j++){
                if(userNumbers[j] == userNumbers[i]) {
                    System.out.println("请勿输入同样的号码!");
                    break;
                }
            }
        }
        if(userNumbers[6] < 1 || userNumbers[6] > 16) {
            System.out.println("请输入合法的号码");
            System.exit(-1);
        }
        return userNumbers;
    }
    public static int[] creatLuckNumbers(){
        int[] luckNumbers = new int[7];
        System.out.println("请输入中奖号码,前6位1~33,最后一位1~16");
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < luckNumbers.length; i++) {
            luckNumbers[i] = sc.nextInt();
            if(luckNumbers[i] < 1 || luckNumbers[i] > 33){
                System.out.println("请输入合法的号码");
                System.exit(-1);
            }
            for(int j = 0;j < i;j++) {
                if (luckNumbers[j] == luckNumbers[i]) {
                    System.out.println("请勿输入同样的号码!");
                    break;
                }
            }
        }
        if(luckNumbers[6] < 1 || luckNumbers[6] > 16) {
            System.out.println("请输入合法的号码");
            System.exit(-1);
        }
        return luckNumbers;
    }
    public static void judge(int[] userNumbers,int[] luckNumbers){
        int count = 6, flag = 1;
        for (int i = 0; i < userNumbers.length-1; i++) {
            if(userNumbers[i] != luckNumbers[i]) count--;
        }
        if(userNumbers[6] != luckNumbers[6]) flag = 0;
        switch(count){
            case 0,1:
                if(flag == 1)  System.out.println("恭喜,你中了六等奖");
                else  System.out.println("很抱歉,你没有中奖");
                break;
            case 2,3:
                if(flag == 1) System.out.println("恭喜,你中了五等奖");
                else  System.out.println("很抱歉,你没有中奖");
                break;
            case 4:
                if(flag == 1) System.out.println("恭喜,你中了四等奖");
                else  System.out.println("恭喜,你中了五等奖");
                break;
            case 5:
                if(flag == 1) System.out.println("恭喜,你中了三等奖");
                else  System.out.println("恭喜,你中了四等奖");
                break;
            case 6:
                if(flag == 1) System.out.println("恭喜,你中了一等奖");
                else  System.out.println("恭喜,你中了二等奖");
                break;
            default:
                System.out.println("error");
                break;
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1034442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

el-image 和 el-table冲突层级冲突问题

其中原理&#xff0c;很多博客已经所过了&#xff0c;table组件中使用图片&#xff0c;会出现层级过低问题&#xff0c; 网上大部分解决方式是 使用穿透 // 单元格样式 ::v-deep(.el-table__cell) {position: static !important; }我在此不推荐这种解决方式&#xff0c;原因&a…

如何编写测试用例,一篇搞定

前言 说到测试用例&#xff0c;但凡是软件测试从业人员&#xff0c;都不会陌生。但对于测试新手来说&#xff0c;测试用例仍旧有遗漏&#xff0c;或者写不好的时候。那么&#xff0c;究竟应该如何写好测试用例呢&#xff1f;今天就来针对性的聊聊这个话题。 在分析如何写测试…

初识Java 10-3 集合

目录 Collection和Iterator的对比 for-in和迭代器 总结图 本笔记参考自&#xff1a; 《On Java 中文版》 Collection和Iterator的对比 Collection是所有序列集合的共同根接口。因此&#xff0c;可以认为它是一个为表示其他接口之间的共性而出现的“附属接口”。 java.util.Ab…

Linux下ThinkPHP5实现定时器任务 - 结合crontab

实例一&#xff1a; 1.在/application/command创建要配置的PHP类文件&#xff0c;需要继承Command类&#xff0c;并重写configure和execute两个方法&#xff0c;例如: <?php namespace app\command; use think\console\Command; use think\console\Input; use think\cons…

紫光展锐6nm国产5G处理器T820_国产手机芯片5G方案

紫光展锐T820是一款采用先进6nm EUV工艺的芯片&#xff0c;采用134三丛集八核心CPU架构&#xff0c;由1个主频为 2.7GHz 的 Arm Cortex-A76 大核和 3个主频为2.3GHz 的Arm Cortex-A76大核以及4个主频为2.1GHz的 Arm Cortex-A55组成 &#xff0c;支持高达3MB 三级缓存&#xff0…

【解决方案】edge浏览器批量添加到集锦功能消失的解决方案

edge的集锦功能很好用&#xff0c;右键标签页会出现如下选项&#xff1a; 但在某次edge更新后&#xff0c;右键标签页不再出现该选项&#xff1a; 这里可以参考为什么我的Edge浏览器右键标签页没有“将所有标签页添加到集锦”功能&#xff1f; - Microsoft Community 一文提出…

1794_ChibiOS网络书籍的介绍阅读

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 看到这个介绍我觉得这个OS的作者也是一个超级hack&#xff0c;而且非常有工匠精神。为什么要推出一个全新的RTOS呢&#xff0c;其实主要的原因就是觉…

【C语言】插入排序详解

文章目录 一、直接插入排序1、插入排序思想2、程序代码3、测试 二、希尔排序1、什么是希尔排序2、希尔排序图解3、程序代码4、测试 一、直接插入排序 1、插入排序思想 直接插入排序就是将待排序的记录按照它的关键码值插入到一个已经排好序的有序序列中&#xff0c;直到所有的…

【亲测有效】解决npm报错:RequestError: unable to verify the first certificate

问题简述 帖主从nodejs官网下载安装nodejs后&#xff0c;发现使用以下命令安装electron会报错 npm install electron报错信息如下&#xff1a; npm ERR! RequestError: unable to verify the first certificate解决方案 网上列举的方案&#xff0c;无外乎&#xff1a; 设置…

一篇文章让你学会什么是哈希

一篇文章让你学会什么是哈希 哈希概念哈希冲突哈希函数1. 直接定址法2. 除留余数法3. 平方取中法4. 折叠法5. 随机数法6. 数学分析法 哈希冲突解决1. 闭散列1.1 线性探测1.2 二次探测 2. 开散列 开散列和闭散列对比 哈希概念 哈希在C中有广泛的应用&#xff0c;它是一种用于快…

Compose LazyColumn 对比 RecyclerView ,谁的性能更好?

LazyColumn 是 compose 中用来实现类似 RecyclerView 效果的控件 &#xff0c;但是大家都说LazyColumn性能比RecyclerView差太多&#xff0c;毕竟 RecyclerView google优化了十多年了&#xff0c;比RecyclerView差一点也正常&#xff0c;今天我们就用实际数据来对比LazyColumn和…

全流程HEC-RAS 1D/2D水动力与水环境模拟技术案例实践及拓展应用丨从小白到精通,十九项案例实践

目录 专题一 水动力模型基础 专题二 恒定流模型(1D/2D) 专题三 一维非恒定流 专题四 二维非恒定流模型&#xff08;一&#xff09; 专题五 二维非恒定流模型&#xff08;二&#xff09; 专题六 HEC-RAS的水质模型 专题七 高级主题 水动力与水环境模型的数值模拟是实现水…

如何安全传输存储用户密码?(程序员必备)

前言 我们开发网站或者APP的时候&#xff0c;首先要解决的问题&#xff0c;就是「如何安全传输和存储用户的密码」。一些大公司的用户数据库泄露事件也时有发生&#xff0c;带来非常大的负面影响。因此&#xff0c;如何安全传输存储用户密码&#xff0c;是每位程序员必备的基础…

基于springboot+vue的大学生科创项目在线管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Git大全

目录 一、Git概述 1.1Git简介 1.2Git工作流程图 1.3查看Git的版本 1.4 Git 使用前配置 1.5为常用指令配置别名&#xff08;可选&#xff09; 1.5.1打开用户目录&#xff0c;创建 .bashrc 文件 1.5.2在 .bashrc 文件中输入如下内容&#xff1a; 1.5.3打开gitBash&#xff0c;执行…

若依框架集成WebSocket带用户信息认证

一、WebSocket 基础知识 我们平时前后台请求用的最多的就是 HTTP/1.1协议&#xff0c;它有一个缺陷&#xff0c; 通信只能由客户端发起&#xff0c;如果想要不断获取服务器信息就要不断轮询发出请求&#xff0c;那么如果我们需要服务器状态变化的时候能够主动通知客户端就需要用…

商家收款码费率是什么意思

今天&#xff0c;我将分享如何有效地降低日常中的收款手续费率。我们都知道&#xff0c;不管是微信支付还是支付宝&#xff0c;平台都会从中扣除一定的手续费。但你是否知道&#xff0c;其实手续费率是可以降低的呢&#xff1f;今天介绍如何申请最低手续费率为0.2%的方法&#…

【从0学习Solidity】26. 删除合约

【从0学习Solidity】26. 删除合约 博主简介&#xff1a;不写代码没饭吃&#xff0c;一名全栈领域的创作者&#xff0c;专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构&#xff0c;分享一些项目实战经验以及前沿技术的见解。关注我们的主页&#xff0c;探索全栈…

酒店外卖小程序商城的作用是什么

随着线上餐品销售属性增强&#xff0c;传统酒店除了承接到店客户&#xff0c;外送也成为生意的一部分&#xff0c;但传统打电话、微信发送的方式无法实现餐品全面呈现和客户随时订购需求&#xff0c;在配送方面也无法规范化。 除此之外&#xff0c;还需要完善营销、会员管理、…

好玩的调度技术

好玩的调度技术 文章目录 好玩的调度技术前言一、乱金柝-空间剥离二、拖拽编辑三、全端兼容 前言 最近感觉自己抑郁了&#xff0c;生态技术实在太庞大太复杂&#xff0c;所以我决定先停一段时间&#xff0c;在停下写生态的这两天写了几个调度的小玩意换换脑子&#xff0c;很有…