实训经验分享day08

文章涵盖了从数据结构如二叉查找树、红黑树到编程概念如循环(for,while,do...while)和数据处理(如推荐系统、数组操作)。还讨论了CPU的工作原理,内存的作用,以及实用工具UTools。此外,介绍了如何使用HashSet和Random类在Java中生成无重复随机数,以及通过Scanner获取用户输入实现课程选择的交互流程。
摘要由CSDN通过智能技术生成

一、课前分享/*------------------------------------------------------*/

早:
二叉查找树:
红黑树:
数组一旦声明了,长度不可更改。

推荐系统:协同过滤
根据所看的视频:基于内容
根据用户:基于用户,两个相同的用户,将一个人看过的视频推荐给另一个人。
1.数据挖掘
2.根据挖掘到的内容判断相似点
3.写前后台程序

中:
cpu,程序->机器语言->内存->cpu执行
cpu两部分,控制单元,算术逻辑单元
按功能分四部分,寄存器,控制器,运算器,时钟
内存:是硬盘与cpu之间的层次,提高cpu访问磁盘中数据的速度

utools:便于查找文件,插件强大


晚:
摄影方法
对称构图
对角线构图
框式构图
引导线构图
三分法构图
“海天一线”
逆光对焦人脸或者地面上的花花草草,最好拍侧脸
对焦好,镜头擦干净,剩下的交给后期

希尔排序
时间复杂度在nlogn到n^2之间,是插入排序的改良版。
先按照步长给序列分组
 

二、上课内容/*------------------------------------------------------*/

今天讲了for循环,while循环,do...while()循环还有循环嵌套。通过今天的课程,我学习到了如何使用带标签的break语句来结束多层循环中的指定层。然后死循环分为编译性死循环(编译器能识别的)和逻辑性死循环。

三、代码部分/*------------------------------------------------------*/

package youjixian01a;

import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;

public class test14 {
    public static void main(String[] args) {
        /**
         * 5.随机生成5个[1,36]之间的整数作为彩票中奖号码,对生成的数进行判断,不能有重复号码
         * 			如果出现重复,需要重新生成
         * 			提示:
         * 				比如生成a1,a2,a3,a4,a5五个数字
         * 				a2不能和a1相同
         * 				a3不能和a1和a2相同
         * 				a4不能和a1,a2,a3相同
         * 				a4不能和a1,a2,a3,a4相同
         * 				如果相同则重新生成
         * 				*/
        Random r = new Random();
        int count =0;
        int size = 0;
        HashSet set = new HashSet<>();
        while(count<5){
            int a = r.nextInt(36)+1;
            set.add(a);
            if(set.size()>size) {
                count++;
                size++;
            }
        }
        System.out.println(set);
        System.out.println("=============================================");

        /**
         *
         * 6.输入课程代号,输出对应的课程的名称,用户可以循环进入输入,如果输入1就继续,输入0则退出.
         * 				1---Java课程
         * 				2---大数据课程
         * 				3---Python课程
         * 				4---前端课程
         * 				其他数字---没有这门课程
         * 				分析:
         * 					键盘录入: Scanner
         * 					switch语句判断对应的课程名称
         * 					询问用户是否继续:1继续,2退出
         * 					*/
        boolean flag = true;
        outer:while(flag){
            System.out.println("请输入课程代号:");
            System.out.println("    1---Java课程");
            System.out.println("    2---大数据课程");
            System.out.println("    3---Python课程");
            System.out.println("    4---前端课程");
            System.out.println("    其他数字---没有这门课程");
            Scanner sc = new Scanner(System.in);
            int num = sc.nextInt();
            switch(num){
                case 1 ->{
                    System.out.println("你选择了Java课程,是否继续:1继续,2退出");
                    int choice = sc.nextInt();
                    if(choice == 2)break outer;
                }
                case 2 -> {
                    System.out.println("你选择了大数据课程,是否继续:1继续,2退出");
                    int choice = sc.nextInt();
                    if(choice == 2)break outer;
                }
                case 3 -> {
                    System.out.println("你选择了Python课程,是否继续:1继续,2退出");
                    int choice = sc.nextInt();
                    if(choice == 2)break outer;
                }
                case 4 -> {
                    System.out.println("你选择了前端课程,是否继续:1继续,2退出");
                    int choice = sc.nextInt();
                    if(choice == 2)break outer;
                }

                default -> {
                    System.out.println("没有这门课程");
                    System.out.println();
                }
            }
        }


    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值