今天学习黑马的Java基础

news/2025/11/18 22:03:11/文章来源:https://www.cnblogs.com/yuyuyu313/p/19239478

今天学习黑马的Java基础,进行补充

  • 生成一个随机数
Random r = new Random();
int number = r.nextInt(10);//生成[0,10)之间的一个随机整数,左开右闭Math.random()//会随机生成[0,1)的小数
  • 生成验证码实验
import java.util.Random;public class demo3 {public static void main(String[] args) {System.out.println(getCode(4));//生成4位验证码System.out.println(getCode(7));//生成7为验证码}public static String getCode(int n) {Random r = new Random();String code = "";//初始化验证码for (int i = 0; i < n; i++) {//n位验证码就循环n次int type = r.nextInt(3);//随机生成0,1,2三个数字里的一个switch (type) {case 0://type为0,随机生成一个[0,9]的数字int a = r.nextInt(10);code += a;//存入验证码break;case 1://type为1,随机生成一个'a'~'z'的小写字母int num = r.nextInt(26);//随机生成[0,25]的数字char b = (char) ('a' + num);//将随机生成的数字加上'a'的AscII码,形成一个'a'~'z'的小写字母code += b;//存入验证码break;case 2://type为2,随机生成一个'A'~'Z'的大写字母int num2 = r.nextInt(26);//随机生成[0,25]的数字char c = (char) ('A' + num2);//将随机生成的数字加上'A'的AscII码,形成一个'A'~'Z'的大写字母code += c;//存入验证码break;}}return code;}
}
  • 查找0-n之间的素数,并输出
import java.util.Scanner;public class demo3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int num=0;//记录素数的个数for (int i = 0; i < n; i++) {//遍历每一个数字int t=0;//计数作用for (int j = 2; j < i; j++) {//遍历2-n之间的每一个数字if(i%j==0) {//如果一个数字可以整除除自己以外的数字,那么它就不是素数,t++;t+=1;}}   if(t==0){//判断一轮循环后,目标数字是否可以整除其他数字,t为0就没有整除其他数字,否则就不是素数System.out.print(i+"  ");//输出素数num+=1;//素数总数加1}}System.out.println(num);//输出素数的总数sc.close();}
}

另一种方法

import java.util.Scanner;public class demo3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int sum = 0;for (int i = 0; i < n; i++) {//遍历0-n之间所有的数字if (isPrime(i)) {//判断为true,则i为素数,输出它System.out.print(i + " ");sum += 1;}}sc.close();}public static boolean isPrime(int n) {//定义一个循环,从2开始找到该数的一半,只要发现有一个数字能被n整除,n就不是素数//如果都没有找到,那么n就是素数for (int i = 2; i < n / 2; i++) {if (n % i == 0) {return false;}}return true;}
}
  • 斗地主游戏
import java.util.Random;
import java.util.Scanner;public class demo {public static void main(String[] args) {Scanner sc = new Scanner(System.in);start();//调用做一副牌和洗牌的方法sc.close();}public static void start() {String[] poker= new String[54];//构建一副牌的结构int index=0;//牌的起始索引String[] number= {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};//列出所有数字大小String[] color= {"♣","♠","❤","♦"};//列出所有花色//让每个数字和花色进行拼接,组成一张牌for (int i = 0; i < number.length; i++) {for (int j = 0; j < color.length; j++) {poker[index++]=number[i]+color[j];//将组成的牌存入一副牌结构中}}poker[index++]="🃏";//存入小王poker[index]="👲";//存入大王System.out.println("拿出一副新牌");for (String s : poker) {//遍历这副牌System.out.print(s + " ");}System.out.println();System.out.println("现在来洗牌");Random r=new Random();//一共遍历54次,每次遍历随机取两张牌进行位置交换for (int i = 0; i < poker.length; i++) {String t;//作为交换牌的使用到的中间容器int x=r.nextInt(poker.length);//随机生成0-53中的一个数字,对应牌堆的某一张牌的索引int y=r.nextInt(poker.length);//随机生成0-53中的一个数字,对应牌堆的某一张牌的索引t=poker[x];poker[x]=poker[y];poker[y]=t;//索引为x和y的牌交换位置}System.out.println("洗牌后结果为:");for (String s : poker) {System.out.print(s+" ");}}
}
  • 数字华容道
import java.util.Random;
import java.util.Scanner;public class 数字华容道 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);start(4);//调用方法,定义华容道大小sc.close();}public static void start(int n) {int[][] arr = new int[n][n];//创建华容道二维数组大小int count = 0;//遍历二维数组,给二维数组赋值for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {arr[i][j] = count++;}}printArray(arr);//打印数组System.out.println();System.out.println("打乱后为:");//遍历二维数组,给二维数组里的数字进行随机交换for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {int m=(int) (Math.random()* arr.length);int p=(int) (Math.random()* arr.length);int t=arr[i][j];arr[i][j]=arr[m][p];arr[m][p]=t;}}printArray(arr);//打印数组}//编写打印数组方法public static void printArray(int[][] arr) {for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j] + "\t");}System.out.println();}}
}

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

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

相关文章

linux c 线程编程

在 Linux 系统中进行 C 线程编程,通常使用 POSIX 线程(pthread),这是 Linux 系统中标准的线程库。下面我将为你提供一些常见的 C 线程编程示例和解释,帮助你理解如何在 Linux 环境下进行线程编程。? 一、C 线程编…

容器网络虚拟化

参考资料:深入理解Linux网络 相关实际问题 1、容器中的eth0和母机上的eth0是一个东西吗? 2、veth设备是什么,它是如何工作的? 3、Linux是如何实现虚拟网络环境的? 4、Linux如何保证同宿主机上多个虚拟网络环境中的…

整体二分学习笔记

整体二分学习笔记 整体二分,就是对所有的操作进行一个整体的二分答案,需要数据结构题满足以下性质:询问的答案具有可二分性。 修改对判定答案的贡献相对独立,修改之间互不影响效果。 修改如果对判定答案有贡献,则…

CF1721F Matching Reduction

CF1721F Matching Reduction 题目 给定一个二分图,第一部分有 \(n_1\) 个顶点,第二部分有 \(n_2\) 个顶点,共有 \(m\) 条边。该图的最大匹配是指选取尽可能多的边,使得没有任何一个顶点被多于一条选中的边连接。 你…

树上求值 tree

考场上想不出t2,于是把t3写了,感觉比较板。 思路: 暴力很显然,直接枚举每个点,暴力计算,复杂度\(O(Tn^2log_n)\) 。 看到贡献与 \(\operatorname{lca}\) 相关,想到在 \(\operatorname{lca}\) 处统计贡献。 显然…

DL 2 自动微分模块

自动微分模块 1. 自动微分模块=对损失函数求导,结合反向传播,更新权重参数w,bpytorch不支持向量张量对向量张量的求导,只支持标量张量对向量张量的求导 import torch# 定义参数,requires_grad默认为false w = torc…

NSSCTF刷题日记

2025.11.18 刚开始使用这个网站,感觉像。。。付费制洛谷?(会员制) 先白嫖做几道看看吧。 [SWPUCTF 2021 新生赛]简简单单的逻辑 好水的题,题目给出了一个 python 文件,打开就能看到源代码。点击查看代码 flag = …

《计算机网络》学习心得

一、学习背景与学习目标 《计算机网络》是我们计算机专业人才培养体系中不可或缺的核心基础课,它如同搭建专业知识大厦的“地基”,贯穿于软件开发、系统运维、网络安全、云计算等多个核心职业方向。无论是未来从事后…

2025防晒品牌TOP8精准推荐:按肤质与场景科学选择

2025防晒品牌TOP8精准推荐:按肤质与场景科学选择一、2025 年中国防晒产品品牌推荐榜(附榜单) 选购防晒霜的核心逻辑是肤质匹配 + 场景适配,没有万能产品。以下基于 2025 年天猫 618 防晒霜热卖榜、亚洲皮肤健康联盟…

黑马程序员SpringCloud微服务开发与实战- Docker基础-02

黑马程序员SpringCloud微服务开发与实战- Docker基础-02Posted on 2025-11-18 21:49 心默默言 阅读(0) 评论(0) 收藏 举报1. 常见命令

详细介绍:UE4_Niagara基础实例—15、粒子发射器之间的通信

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年目前口碑好的继承官司律师律所有哪些,遗产继承律师事务所/北京最好的继承律师/婚姻律师事务所/继承律师/北京继承纠纷律师律所哪家强

专业法律服务市场深度观察 随着社会经济发展和民众法律意识提升,遗产继承纠纷案件呈现逐年上升趋势。在北京这样的一线城市,继承官司涉及标的额大、法律关系复杂,对律师团队的专业能力提出更高要求。本文基于公开数…

老友记第一季人物表

老友记第一季人物表

五、平台设备与平台驱动

一、概述平台总线是一个虚拟总线,抽象层面上外设可以通过平台总线与CPU相连 平台设备和平台驱动就像一个人字一样挂在平台总线两侧,当一个新的平台设备或平台驱动被注册进系统,会在另一条枝干上搜索对应的平台驱动或…

make指定安装目录

make install DESTDIR=/home/tc/work/

【转载】银河麒麟(Kylin)操作系统上移植Qt 5.6.3与QtCreator 4.2.0的完整指南

转自:银河麒麟(Kylin)操作系统上移植Qt 5.6.3与QtCreator 4.2.0的完整指南-百度开发者中心 银河麒麟(Kylin)操作系统上移植Qt 5.6.3与QtCreator 4.2.0的完整指南 作者:谁偷走了我的奶酪2024.01.18 08:38浏览量:117 …

wsl 与 docker相关内容

设置 WSL 开机启动并在后台运行 来源原文 新建一个 wsl-d.vbs 文件(文件命名随意)作为启动脚本,里面内容如下: set ws=wscript.CreateObject("wscript.shell") ws.run "wsl -d Ubuntu-22.04",…

2025.11.18模拟赛

赛时因为发现T1暴力都假了,心态炸了 于是不出意外的分很低 T1赛场上剩1h30min发现是个诈骗题 就是把排列分成两个部分,使得每个部分都满足那个限制 发现很像csp2024T3 然后想优化,设dp状态,但是会算重,赛后想了半…

linux c 开发 工具

在 Linux 系统中,C 语言开发工具和环境非常丰富,以下是一些常用的 C 开发工具和相关命令,适用于大多数 Linux 发行版(如 Ubuntu、CentOS、Fedora 等):一、C 语言开发环境 1. 编译器GCC(GNU Compiler Collection…

第一章 拓扑空间与连续映射

第一章 拓扑空间与连续映射好的,我将严格按照尤承业《基础拓扑学讲义》第一章第一节的内容,为每个概念、命题和例子提供完整的证明,并用更形象的方式进行讲解。 🧭 拓扑空间的定义与公理 📚 定义1.1(拓扑空间)…