Java基础综合练习(飞机票,打印素数,验证码,复制数组,评委打分,数字加密,数字解密,抽奖,双色球)

练习一:飞机票

需求:

​ 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。

​ 按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。

代码示例:

package com.itheima.test;import java.util.Scanner;public class Test1 {public static void main(String[] args) {/* 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。*///分析://1.键盘录入机票原价、月份、头等舱或经济舱Scanner sc = new Scanner(System.in);System.out.println("请输入机票的原价");int ticket = sc.nextInt();System.out.println("请输入当前的月份");int month = sc.nextInt();System.out.println("请输入当前购买的舱位 0 头等舱 1 经济舱");int seat = sc.nextInt();//2.先判断月份是旺季还是淡季//ctrl + alt + M 自动抽取方法if (month >= 5 && month <= 10) {//旺季 //3.继续判断当前机票是经济舱还是头等舱//ticket = getPrice(ticket, seat, 0.9, 0.85);ticket = getTicket(ticket, seat, 0.9, 0.85);} else if ((month >= 1 && month <= 4) || (month >= 11 && month <= 12)) {//淡季//ticket = getPrice(ticket, seat, 0.7, 0.65);ticket = getTicket(ticket, seat, 0.7, 0.65);} else {//表示键盘录入的月份是一个非法数据System.out.println("键盘录入的月份不合法");}System.out.println(ticket);}public static int getTicket(int ticket, int seat, double v, double v2) {if (seat == 0) {//头等舱ticket = (int) (ticket * v);} else if (seat == 1) {//经济舱ticket = (int) (ticket * v2);} else {System.out.println("没有这个舱位");}return ticket;}//1.我要干嘛?根据舱位和折扣来计算最终的票价//2.我干这件事,需要什么才能完成?原价 舱位 头等舱的折扣 经济舱的折扣//3.方法的调用处是否需要继续使用这个结果  需要/*  public static int getPrice(int ticket, int seat, double v0, double v1) {if (seat == 0) {//头等舱ticket = (int) (ticket * v0);} else if (seat == 1) {//经济舱ticket = (int) (ticket * v1);} else {System.out.println("没有这个舱位");}return ticket;}*/
}

练习二:打印素数

​ 判断101~200之间有多少个素数,并输出所有素数。

备注:素数就是质数

代码示例:

package com.itheima.test;public class Test2 {public static void main(String[] args) {//判断 101 ~ 200 之间有多少个素数,并打印所有素数//思路一: 2 ~ 99//定义变量i ,赋值100//判断i是否为质数//定义一个变量用来统计有多少个质数int count = 0;//外循环:遍历101~200这个范围,依次得到这个范围之内的每一个数字for (int i = 101; i <= 200; i++) {//i 依次表示循环中的每一个数字//继续判断i是否为一个质数boolean flag = true;//内循环:判断当前数字是否为一个质数。for (int j = 2; j < i; j++) {//j 表示2~99之间的每一个数字if(i % j == 0){flag = false;//跳出单层循环,内循环break;}}if(flag){System.out.println("当前数字"+i+"是质数");count++;}}System.out.println("一共有" + count + "个质数");/* int i = 7;boolean flag = true;for (int j = 2; j < i; j++) {//j 表示2~99之间的每一个数字if(i % j == 0){flag = false;break;}}if(flag){System.out.println("当前数字是质数");}else{System.out.println("当前数字不是一个质数");}*/}
}

练习三:验证码

需求:

​ 定义方法实现随机产生一个5位的验证码

验证码格式:

​ 长度为5

​ 前四位是大写字母或者小写字母

​ 最后一位是数字

代码示例:

package com.itheima.test;import java.util.Random;public class Test3 {public static void main(String[] args) {/*   需求:定义方法实现随机产生一个5位的验证码验证码格式:长度为5前四位是大写字母或者小写字母最后一位是数字*///方法://在以后如果我们要在一堆没有什么规律的数据中随机抽取//可以先把这些数据放到数组当中//再随机抽取一个索引//分析://1.大写字母和小写字母都放到数组当中char[] chs = new char[52];for (int i = 0; i < chs.length; i++) {//ASCII码表if(i <= 25){//添加小写字母chs[i] = (char)(97 + i);}else{//27//添加大写字母// A --- 65chs[i] = (char)(65 + i - 26);}}//定义一个字符串类型的变量,用来记录最终的结果String result = "";//2.随机抽取4次//随机抽取数组中的索引Random r = new Random();for (int i = 0; i < 4; i++) {int randomIndex = r.nextInt(chs.length);//利用随机索引,获取对应的元素//System.out.println(chs[randomIndex]);result = result + chs[randomIndex];}//System.out.println(result);//3.随机抽取一个数字0~9int number = r.nextInt(10);//生成最终的结果result = result + number;//打印最终结果System.out.println(result);}
}

练习四:复制数组

需求:

​ 把一个数组中的元素复制到另一个新数组中去。

代码示例:

package com.itheima.test;public class Test4 {public static void main(String[] args) {/* 需求:把一个数组中的元素复制到另一个新数组中去。*///分析://1.定义一个老数组并存储一些元素int[] arr = {1,2,3,4,5};//2.定义一个新数组的长度跟老数组一致int[] newArr = new int[arr.length];//3.遍历老数组,得到老数组中的每一个元素,依次存入到新数组当中for (int i = 0; i < arr.length; i++) {//i 表示老数组中的索引。新数组中的每一个索引//arr[i]  表示老数组中的元素newArr[i] = arr[i];}//4.新数组中已经存满元素了for (int i = 0; i < newArr.length; i++) {System.out.println(newArr[i]);}}
}

练习五:评委打分

需求 :

​ 在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。

代码示例:

package com.itheima.test;import java.util.Scanner;public class Test5 {public static void main(String[] args) {//在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。// 选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。//分析://1.定义一个数组,用来存储6名评委的打分(0~100)int[] scoreArr = getScores();for (int i = 0; i < scoreArr.length; i++) {System.out.println(scoreArr[i]);}//2.求出数组中的最大值int max = getMax(scoreArr);//3.求出数组中的最小值int min = getMin(scoreArr);//4.求出数组中6个分数的总和int sum = getSum(scoreArr);//5.(总和 - 最大值 - 最小值 )/4int avg =  (sum - max - min)/(scoreArr.length - 2);//6.打印结果System.out.println("选手的最终得分为:" + avg);}public static int getSum(int[] scoreArr){int sum = 0;for (int i = 0; i < scoreArr.length; i++) {sum = sum + scoreArr[i];}return  sum;}//求数组的最大值public static int getMax(int[] scoreArr){int max = scoreArr[0];for (int i = 1; i < scoreArr.length; i++) {if(scoreArr[i] > max){max = scoreArr[i];}}return max;}//求数组的最小值public static int getMin(int[] scoreArr){int min = scoreArr[0];for (int i = 1; i < scoreArr.length; i++) {if(scoreArr[i] < min){min = scoreArr[i];}}return min;}//1.我要干嘛?定义一个数组,用来存储6名评委的打分(0~100)//2.我需要什么?都不需要//3.干完了这件事情,是否需要返回?必须返回public static int[] getScores(){//定义数组int[] scores = new int[6];//使用键盘录入的形式,输入分数:0~100Scanner sc = new Scanner(System.in);for (int i = 0; i < scores.length; ) {System.out.println("请输入评委的打分");int score = sc.nextInt();//100if(score >=0 && score<= 100){scores[i] = score;i++;}else{System.out.println("成绩超出了范围,继续录入,当前的i为:" + i);}}return  scores;}
}

练习六:数字加密

需求:

​ 某系统的数字密码(大于0),比如1983,采用加密方式进行传输。

规则如下:

​ 先得到每位数,然后每位数都加上5 , 再对10求余,最后将所有数字反转,得到一串新数。

举例:

		1	9	8	3
+5		6   14  13  8
%10		6   4   3   8
反转	   8   3   4   6
加密后的结果就是:8346

代码示例:

package com.itheima.test;public class Test6 {public static void main(String[] args) {/*某系统的数字密码(大于0)。比如1983,采用加密方式进行传输,规则如下:每位数加上5再对10求余,最后将所有数字反转,得到一串新数。
*///分析://1.把整数里面的每一位放到数组当中int[] arr = {1, 9, 8, 3};//2.加密//每位数加上5for (int i = 0; i < arr.length; i++) {arr[i] = arr[i] + 5;}//再对10求余,for (int i = 0; i < arr.length; i++) {arr[i] = arr[i] % 10;}//将所有数字反转for (int i = 0, j = arr.length - 1; i < j; i++, j--) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}//8 3 4 6 --> 8346//3.把数组里面的每一个数字进行拼接,变成加密之后的结果int number = 0;for (int i = 0; i < arr.length; i++) {number = number * 10 + arr[i];}System.out.println(number);}
}

练习六扩展:

package com.itheima.test;public class Test7 {public static void main(String[] args) {//需求://把整数上的每一位都添加到数组当中//反向推导//1.计算出数组的长度int number = 12345;//定义一个变量临时记录number的值,就是为了第三步的时候再次使用int temp = number;//定义一个变量进行统计int count = 0;while(number != 0){//每一次循环就去掉右边的一个数字number = number / 10;//去掉一位计数器就自增一次。count++;}//2.定义数组//动态初始化int[] arr = new int[count];//3.把整数上的每一位都添加到数组当中int index = arr.length -1;while(temp != 0){//12345//获取temp里面的每一位数组int ge = temp % 10;//再去掉右边的那位数字temp = temp / 10;//把当前获取到的个位添加到数组当中arr[index] = ge;index--;}//验证结果  1  2  3  4 5for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}
}

练习七:数字解密

把上一题加密之后的数据进行解密

代码示例:

package com.itheima.test;public class Test8 {public static void main(String[] args) {/*某系统的数字密码(大于0)。比如1983,采用加密方式进行传输,规则如下:每位数加上5再对10求余,最后将所有数字反转,得到一串新数。按照以上规则进行解密:比如1983加密之后变成8346,解密之后变成1983*///1.定义数组记录解密之后的结果int[] arr = {8, 3, 4, 6};//2.反转for (int i = 0, j = arr.length - 1; i < j; i++, j--) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}//3.由于加密是通过对10取余的方式进行获取的//所以在解密的时候就需要判断,0~4之间+10  5~9数字不变for (int i = 0; i < arr.length; i++) {if (arr[i] >= 0 && arr[i] <= 4) {arr[i] = arr[i] + 10;}}//4.每一位减5for (int i = 0; i < arr.length; i++) {arr[i] = arr[i] - 5;}//5.获取数组里面的每一位数字拼接成最终的结果int number = 0;for (int i = 0; i < arr.length; i++) {number = number * 10 + arr[i];}System.out.println(number);}
}

练习八:抽奖

需求:

​ 一个大V直播抽奖,奖品是现金红包,分别有{2, 588 , 888, 1000, 10000}五个奖金。请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。打印效果如下:(随机顺序,不一定是下面的顺序)

888元的奖金被抽出
588元的奖金被抽出
10000元的奖金被抽出
1000元的奖金被抽出
2元的奖金被抽出

解法一:

package com.itheima.test;import java.util.Random;public class Test9 {public static void main(String[] args) {/* 需求:一个大V直播抽奖,奖品是现金红包,分别有{2, 588 , 888, 1000, 10000}五个奖金。请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。打印效果如下:(随机顺序,不一定是下面的顺序)888元的奖金被抽出588元的奖金被抽出10000元的奖金被抽出1000元的奖金被抽出2元的奖金被抽出*///分析://1.定义数组表示奖池int[] arr = {2, 588, 888, 1000, 10000};//2.定义新数组用于存储抽奖的结果int[] newArr = new int[arr.length];//3.抽奖Random r = new Random();//因为有5个奖项,所以这里要循环5次for (int i = 0; i < 5; ) {//获取随机索引int randomIndex = r.nextInt(arr.length);//获取奖项int prize = arr[randomIndex];//判断当前的奖项是否存在,如果存在则重新抽取,如果不存在,就表示是有效奖项boolean flag = contains(newArr, prize);if(!flag){//把当前抽取到的奖项添加到newArr当中newArr[i] = prize;//添加完毕之后,移动索引i++;}}//4.遍历newArrfor (int i = 0; i < newArr.length; i++) {System.out.println(newArr[i]);}}//判断prize在数组当中是否存在//存在:true//不存在:falsepublic static boolean contains(int[] arr,int prize){for (int i = 0; i < arr.length; i++) {if(arr[i] == prize){return true;}}return false;}}

解法二:

package com.itheima.test;import java.util.Random;public class Test10 {public static void main(String[] args) {/* 需求:一个大V直播抽奖,奖品是现金红包,分别有{2, 588 , 888, 1000, 10000}五个奖金。请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。打印效果如下:(随机顺序,不一定是下面的顺序)888元的奖金被抽出588元的奖金被抽出10000元的奖金被抽出1000元的奖金被抽出2元的奖金被抽出*///1.把奖池里面的所有奖项打乱顺序int[] arr = {2, 588, 888, 1000, 10000};Random r = new Random();for (int i = 0; i < arr.length; i++) {//获取随机索引int randomIndex = r.nextInt(arr.length);//拿着i跟随机索引randomIndex上的值进行交换int temp = arr[i];arr[i] = arr[randomIndex];arr[randomIndex] = temp;}//2.遍历奖池,从0索引开始获取每一个奖项for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}
}

练习九:双色球

在这里插入图片描述

代码示例:

package com.itheima.test;import java.util.Random;
import java.util.Scanner;public class Test11 {public static void main(String[] args) {//1.生成中奖号码int[] arr = createNumber(); // 123456  7System.out.println("=======================");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}System.out.println("=======================");//2.用户输入彩票号码(红球 + 蓝球)//654321int[] userInputArr = userInputNumber();//3.判断用户的中奖情况//红球 蓝球int redCount = 0;int blueCount = 0;//判断红球for (int i = 0; i < userInputArr.length - 1; i++) {int redNumber = userInputArr[i];for (int j = 0; j < arr.length - 1; j++) {if(redNumber == arr[j]){redCount++;//如果找到了,那么后面的数字就没有必要继续比较了//跳出内循环,继续判断下一个红球号码是否中奖break;}}}//判断蓝球int blueNumber = userInputArr[userInputArr.length-1];if(blueNumber == arr[arr.length - 1]){blueCount++;}//根据红球的个数以及蓝球的个数来判断中奖情况if(redCount == 6 && blueCount == 1){System.out.println("恭喜你,中奖1000万");}else if(redCount == 6 && blueCount == 0){System.out.println("恭喜你,中奖500万");}else if(redCount == 5 && blueCount == 1){System.out.println("恭喜你,中奖3000");}else if((redCount == 5 && blueCount == 0) ||  (redCount == 4 && blueCount == 1)){System.out.println("恭喜你,中奖200");}else if((redCount == 4 && blueCount == 0) ||  (redCount == 3 && blueCount == 1)){System.out.println("恭喜你,中奖10");}else if((redCount == 2 && blueCount == 1) ||  (redCount == 1 && blueCount == 1)|| (redCount == 0 && blueCount == 1)){System.out.println("恭喜你,中奖5");}else{System.out.println("谢谢参与,谢谢惠顾");}}public static int[] userInputNumber() {//1.创建数组用于添加用户购买的彩票号码//6个红球 1个蓝球 数组长度:7int[] arr = new int[7];//2.利用键盘录入让用输入Scanner sc = new Scanner(System.in);//让用户输入红球号码for (int i = 0; i < 6; ) {System.out.println("请输入第" + (i + 1) + "个红球号码");int redNumber = sc.nextInt();//redNumber  在1~33  唯一不重复if (redNumber >= 1 && redNumber <= 33) {boolean flag = contains(arr, redNumber);if (!flag) {//不存在//有效的,可以添加到数组当中arr[i] = redNumber;i++;} else {//存在System.out.println("当前红球号码已经存在,请重新输入");}} else {System.out.println("当前红球号码超出范围");}}//让用户输入篮球号码System.out.println("请输入篮球号码");//1~16while (true) {int blueNumber = sc.nextInt();if (blueNumber >= 1 && blueNumber <= 16) {arr[arr.length - 1] = blueNumber;break;} else {System.out.println("当前篮球号码超出范围");}}return arr;}public static int[] createNumber() {//1.创建数组用于添加中奖号码//6个红球 1个蓝球 数组长度:7int[] arr = new int[7];//2.随机生成号码并添加到数组当中//红球:不能重复的  1 2 3 4 5 6//蓝球:可以跟红球号码重复 5//生成红球号码并添加到数组当中Random r = new Random();for (int i = 0; i < 6; ) {//获取红球号码int redNumber = r.nextInt(33) + 1;boolean flag = contains(arr, redNumber);if (!flag) {//把红球号码添加到数组当中arr[i] = redNumber;i++;}}//生成蓝球号码并添加到数组当中int blueNumber = r.nextInt(16) + 1;arr[arr.length - 1] = blueNumber;return arr;}//用于判断数组在数组中是否存在public static boolean contains(int[] arr, int number) {for (int i = 0; i < arr.length; i++) {if (arr[i] == number) {return true;}}return false;}
}

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

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

相关文章

【algorithm】自动驾驶常见常考的几个模型和推导,顺便总结自己遇到的考题经验不断更新之———控制版

写在前面 本来快达成目标了&#xff0c;没想到公司遭受了问题&#xff0c;公司和同事我感觉还是挺好的&#xff0c;有国企的正规也有小企业的灵活&#xff0c;大家都很有学习欲望。 作为本次再次复习回忆如下&#xff1a; 把之前面试准备的 机器学习&#xff08;基本搬运到CSD…

JVM篇:JVM的简介

JVM简介 JVM全称为Java Virtual Machine&#xff0c;翻译过来就是java虚拟机&#xff0c;Java程序&#xff08;Java二进制字节码&#xff09;的运行环境 JVM的优点&#xff1a; Java最大的一个优点是&#xff0c;一次编写&#xff0c;到处运行。之所以能够实现这个功能就是依…

电脑突然不能使用win+x后的快捷键的解决方法

在一次使用电脑后我习惯性的winxuh进行休眠&#xff0c;但是失败了&#xff0c;我发现winx后并没有出现曾经常用的快捷键方式。 左边图片显示的是正常情况。我遇到的情况是图片右边快捷键位没有了&#xff0c;并且也不能进行快捷操作。 国内的网站我都搜索过了&#xff0c;甚至…

outlook邮箱群发邮件方法?邮箱如何群发?

outlook邮箱群发邮件如何使用&#xff1f;QQ邮箱设置群发的步骤&#xff1f; Outlook邮箱群发邮件&#xff1a;必要性 Outlook邮箱作为全球广泛使用的邮件服务之一&#xff0c;不仅提供了便捷的邮件收发功能&#xff0c;还支持多种附件、日历提醒及强大的联系人管理。Outlook…

Python 实现给 pdf 文件自动识别标题并增添大纲

一、背景&#xff1a; 客户方提供过来一个开放平台的pdf文档&#xff0c;文档里有几十个接口&#xff0c;没有大纲和目录可以定位到具体内容&#xff0c;了解整体的API功能&#xff0c;观看体验极度差劲&#xff0c;所以想使用Python代码自动解析pdf文档&#xff0c;给文档增添…

某人寿保险公司基础架构云化与小机数仓下移实践

随着数据中心 IT 基础架构的不断演进&#xff0c;云计算、大数据、移动互联的需求日益高涨&#xff0c;快速敏捷、易于维护以及扩展性&#xff0c;逐渐成为金融机构在升级数据中心时重点考虑的方面。 某人寿保险公司&#xff08;以下简称“客户”&#xff09;过往采用传统三层架…

PS插件一键生成超治愈向日葵花海

金黄色的向日葵总能给人带来治愈的感觉&#xff0c;仿佛在这里能够疗愈心灵所有的伤口。今天我们通过START AI来生成一片美丽的向日葵花海~ 这是小编使用的关键词&#xff0c;负面词需要填写你不想要拥有的&#xff0c;能够让生成的结果更贴合你的想法 最后的生成效果就如下图…

IC工程师级别与薪资是怎样的?资深工程师一文带你了解清楚

入行IC之后&#xff0c;想必大家更关心的就是工程师薪资和级别&#xff0c;因为入行的大多数也是工程师。 国际的一流企业基本上工程师分为以下几个级别&#xff1a;普通工程师&#xff0c;资深工程师&#xff0c;主管工程师&#xff0c;资深主管&#xff0c;总工, 资深总工&am…

电子电器架构(E/E)演化 —— 车载以太网

电子电器架构&#xff08;E/E&#xff09;演化 —— 车载以太网 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 本文13000字。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一…

笔记1:基于锚框(先验框)的目标检测

一、边缘框&#xff08;bounding box&#xff09; 1.1 定义 边缘框&#xff1a;真实标注的物体位置 2.1 表示方式 1、&#xff08;x1,y1)和(x2,y2) 2、&#xff08;x1,y1)和w,h 二、锚框(anchor box)/先验框&#xff08;prior bounding box&#xff09; 2.1 定义 对边缘…

Django 学习教程- Django模板(Template)

系列 Django 学习教程-介绍与安装-CSDN博客 Django 学习教程- Hello world入门案例-CSDN博客 前言 在上一章节中我们使用django.http.HttpResponse() 来输出 "Hello World&#xff01;"。该方式将数据与视图混合在一起&#xff0c;不符合 Django 的 MTV 思想。 本…

Linux network — 网络层收发包流程及 Netfilter 框架浅析

Linux network — 网络层收发包流程及 Netfilter 框架浅析 1. 前言2. 基础网络知识2.1 网络分层模型2.2 数据包协议分层2.3 sk_buff 结构2.4 收发包整体框架 3. 网络层&#xff08;IPv4&#xff09;收发包流程4. Netfilter 框架4.1 IPv4 网络层的 Netfilter Hook 点4.2 iptable…

算法——队列+宽搜(BFS)

队列这种数据结构大都服务于一个算法——宽搜&#xff08;BFS&#xff09;。宽搜还可以运用到二叉树、图、迷宫最短路径问题、拓扑排序等等 N叉数的层序遍历 N叉树的层序遍历 题目解析 给定一个 N 叉树&#xff0c;返回其节点值的_层序遍历_。&#xff08;即从左到右&#…

使用Wireshark进行网络流量分析

目录 Wireshark是什么&#xff1f; 数据包筛选 筛选指定ip 使用逻辑运算符筛选 HTTP模式过滤 端口筛选 协议筛选 包长度筛选 数据包搜索 数据流分析 数据包导出 Wireshark是什么&#xff1f; 通过Wireshark&#xff0c;我们可以捕获和分析网络数据包&#xff0c;查看…

【Maven】工程依赖下载失败错误解决

在使用 Maven 构建项目时&#xff0c;可能会发生依赖项下载错误的情况&#xff0c;主要原因有以下几种&#xff1a; 下载依赖时出现网络故障或仓库服务器宕机等原因&#xff0c;导致无法连接至 Maven 仓库&#xff0c;从而无法下载依赖。 依赖项的版本号或配置文件中的版本号错…

SPI

一、简介 SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在 时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接 口可以是3线式或4线式。 MOSI(Master Output Slave Input) – 主设备输出/从设备输入信号&#xff1b;MISO(Master Input Slave Output) – 主…

经典卷积神经网络-ResNet

经典卷积神经网络-ResNet 一、背景介绍 残差神经网络(ResNet)是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的。ResNet 在2015 年的ILSVRC&#xff08;ImageNet Large Scale Visual Recognition Challenge&#xff09;中取得了冠军。残差神经网络的主要贡献是发现了…

Nginx 反向代理负载均衡

Nginx 反向代理负载均衡 普通的负载均衡软件&#xff0c;如 LVS&#xff0c;其实现的功能只是对请求数据包的转发、传递&#xff0c;从负载均衡下的节点服务器来看&#xff0c;接收到的请求还是来自访问负载均衡器的客户端的真实用户&#xff1b;而反向代理就不一样了&#xf…

Android混淆那些事

前言 作为一个Android开发&#xff0c;大家或多或少都有一些关于混淆的了解&#xff08;毕竟披个纱布也比裸奔要好的多吧&#xff09;。混淆的概念虽然容易理解&#xff0c;但相信大多数开发可能还是在网上搜索通用配置后通过C-V大法接入到自己的项目中&#xff0c;这也使得混…

canvas绘制网格线示例

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…