Java开发从入门到精通(一):Java的基础语法项目案例

Java大数据开发和安全开发

  • Java 案例练习
    • 案例一:买飞机票
    • 案例二:开发验证码
    • 案例三:评委打分
    • 案例四:数字加密
    • 案例五:数组拷贝
    • 案例六: 抢红包
    • 案例七:找素数
    • 案例八:模拟双色球[拓展案例]

Java 案例练习

在这里插入图片描述
在这里插入图片描述

案例一:买飞机票

在这里插入图片描述
分析:

  • 方法是需要接收数据?需要接收机票原价、当前月份、舱位类型
  • 方法是否需要返回数据?需要返回计算出的机票优惠价
  • 方法内部:先使用if判断月份是旺季还是淡季,然后使用switch分支判断是头等舱还是经济舱
package com.qianxin.jipiao;public class MaiJiPiao {public static void main(String[] args) {double pirec = fare(1150.1,11,"头等舱");System.out.println(pirec);}public static double fare(double plane_pirec,int datanum,String shipping_space) {//1. 判断当前是淡季还是旺季if (datanum >= 5 && datanum <= 10) {//旺季//判断舱位类型switch (shipping_space) {case "头等舱":plane_pirec = plane_pirec * 0.9;break;case "经济舱":plane_pirec = plane_pirec * 0.85;}} else {//淡季switch (shipping_space) {case "头等舱":plane_pirec = plane_pirec * 0.7;break;case "经济舱":plane_pirec = plane_pirec * 0.65;}}return plane_pirec;}
}
  • 1、遇到需要通过判断数据在哪个区间,来决定执行哪个业务,应该用什么实现?
    • 应该使用if分支结构实现
  • 2、遇到需要通过判断数据匹配哪个值,来决定执行哪个业务,应该用什么实现?
    • 应该使用switch分支结构实现

案例二:开发验证码

  • 方法是否需要接收数据? 需要接收一个整数,控制生成验证码的位数
  • 方法是否需要返回数据? 需要返回生成的验证码
  • 方法内部的业务:使用for循环依次生成每位随机字符,并使用一个String类的变量把每个字符连接起来,最后返回该变量即可

在这里插入图片描述

import java.util.Random;public class YanZhenMa {public static void main(String[] args) {String code = CreateCode(5);System.out.println(code);}public static String CreateCode(int num) {Random r = new Random();//定义一个String类型的变量用于记住产生的每位随机字符String code = "";//定义一个for循环用于控制产生多少位随机字符for (int i = 0; i < num; i++) {//i = 1 2 3 4//为每个位置生成一个随机字符,可能是数字,大小写字母//思路:随机一个数字0 1 2出来 0代表数字,1代表大写字母 2.代表大写字符int num1 = r.nextInt(3);switch (num1) {case 0://随机生成一个数字code += r.nextInt(10);break;case 1://随机一个大写字符 A 65  Z 65+25 (0-25)+65char ch1 = (char) (r.nextInt(26) + 65);code += ch1;break;case 2://随机一个小写字符a 的起始值97  z 97+25 (0-25)+97   ALT+ENTER 强制类型转化char ch2 = (char) (r.nextInt(26) + 97);code += ch2;break;}}return code;}
}

案例三:评委打分

  • 1。方法是否需要接收数据进行处理? 需要接收评委的人数
  • 2。方法是否需要返回数据? 需要返回计算出的选手最终得分
  • 3。方法内部的业务:,定义数组,录入评委的分数存入到数组中去,接着,我们就需要遍历数组中的分数计算出总分,并找出最高分,最低分、最后按照这些数据算出选手最终得分并返回即可
package com.qianxin.jipiao;import java.util.Scanner;public class PingWei {public static void main(String[] args) {System.out.println("选手的平均分为:"+AvgScores(6));}public static double AvgScores(int num){// 1、定义一个动态初始化的数组,负责后期存入评委的打分int[] scores = new int[num];Scanner sc= new Scanner(System.in);// 2、遍历数组的每个位置,依次录入评委的分数for (int i = 0; i < num; i++) {System.out.println("请输入第"+ (i+1)+"个评委的分数:");int score = sc.nextInt();scores[i] =score;}//3、从数组中计算出总分,找出最高分,最低分int sum = 0;int max = scores[0];int min = scores[0];//4、遍历数组找出这些数据的.for (int i = 0; i < scores.length; i++) {//求和sum += scores[i];//求最大值if (scores[i] > max){max = scores[i];}//求最小值if (scores[i] < min){min = scores[i];}}//平均分:总和减去最大值和最小值除以人数减2return (sum - max - min) /(num-2);}
}

案例四:数字加密

  • 1 方法是否需要接收数据进行处理?需要接收四位数字密码,进行加密处理。
  • 2 方法是否需要返回数据? 需要返回加密后的结果
  • 3 方法内部的业务:将四位数字密码拆分成一个一个的数字,存入到数组中去,遍历数组中的每个数字按照题目需求进行加密!最后,再把加密后的数字拼接起来返回即可!
public class JiMi {public static void main(String[] args) {System.out.println(encrypt(1983));}public static String encrypt(int num){//num =1983// 1、把这个密码拆分成一个一个的数字,才可以对其进行加密啊.int[] number = splot(num);//number=[1,9,8,3]for (int i = 0; i < number.length; i++) {System.out.println(number[i]);}// 2、遍历这个数组中的每个数字,对其进行加密处理。for (int i = 0; i < number.length; i++) {number[i] =(number[i] + 5 ) % 10;}//number= [6,4,3,8]// 3、对数组反转,把对数组进行反转的操作交给一个独立的方法来完成reverse(number);//number= [8,3,4,6]// 4、把这些加密的数字拼接起来做为加密后的结果返回即可。String number1 ="";for (int i = 0; i < number.length; i++) {number1 += number[i];}return number1;}public static int[] splot(int num) {//number = [1,9,8,3]int[] number = new int[4];number[0] = num / 1000;number[1] = (num / 100) % 10;number[2] = (num /10) % 10;number[3] = num /10;return number;}public static void reverse(int[] number) {//反转数组//number= [6,4,3,8]//         i     jfor (int i = 0,j = number.length-1; i < j;i++,j--) {// 交换i和j位置处的值// 1、把后一个位置处的值交给一个临时变量先存起来int temp = number[j];// 2、把前一个位置处的值赋值给后一个位置处number[j] = number[i];// 3、把后一个位置处原来的值(由临时变量记住着) 值给前一个位置number[i] = temp;}}
}

案例五:数组拷贝

案例六: 抢红包

案例七:找素数

案例八:模拟双色球[拓展案例]

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

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

相关文章

新手如何快速上手学习单片机?

读者朋友能容我&#xff0c;不使博文负真心 新开专栏&#xff0c;期待与诸君共享精彩 个人主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《单片机》 学习单片机是一个有趣且有挑战性的过程。单片机是一种微控制器&#xff0c;广泛应用于各种电子设备和嵌入式系统中。在这…

IOS面试题object-c 61-70

61. 阐述isKindOfClass、isMemberOfClass、selector作用分别是什么&#xff1f;isKindOfClass&#xff1a;作用是某个对象属于某个类型或者继承自某类型。 isMemberOfClass&#xff1a;某个对象确切属于某个类型。 selector&#xff1a;通过方法名&#xff0c;获取在内存中的函…

Linux 驱动 | 高级驱动 | I2C子系统

Linux 驱动 | 高级驱动 | I2C子系统 学习笔记 主要内容: 1,i2c协议和时序 2,i2c子系统软件框架 3,i2c从设备驱动编写方式–不考虑具体的硬件 4,mpu6050硬件连接,陀螺仪和加速度工作原理,它们的应用 5,mpu6050数据和获取 6,mpu6050从设备驱动编写 I2C驱动开发: I2C…

#QT(本地音乐播放器)

1.IDE&#xff1a;QTCreator 2.实验&#xff1a;之前做的音乐播放器只做了一个界面&#xff0c;是因为跟的课程发现到后面需要付费&#xff0c;并且WINGW6.2.0运行QMediaPlayer时无法运行&#xff0c;会崩溃&#xff0c;现在退一步用WINGW5.12.2做一个本地音乐播放器 3.记录&am…

pyside6 pytq PyDracula QVideoWidget视频只有画面没有声音

解决方案&#xff1a; 先不使用框架&#xff0c;纯pyside6代码&#xff0c;如果添加视频有画面有声音&#xff0c;那可以排除是硬件问题&#xff0c;如果没有画面只有声音&#xff0c;可能是视频解码器无法解码&#xff0c;换个格式的视频文件如果只有使用PyDracula 出问题&am…

[论文笔记] Open-sora 2、视频数据集介绍 MSR-VTT

MSR-VTT COVE - Computer Vision Exchange 论文参考:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/06/cvpr16.msr-vtt.tmei_-1.pdf 用于视频理解的大规模视频基准,特别是将视频翻译为文本的新兴任务。这是通过从商业视频搜索引擎收集 257 个热门查询…

Rust多线程访问数据,推荐使用mutex还是channel?

在Rust中&#xff0c;选择使用互斥锁&#xff08;mutex&#xff09;还是通道&#xff08;channel&#xff09;来进行多线程间的数据访问&#xff0c;主要取决于你的具体需求和数据共享的模式。 互斥锁&#xff08;Mutex&#xff09; 互斥锁是一种同步原语&#xff0c;用于保护…

小蓝的钥匙(蓝桥杯错排)

现在有28个小朋友&#xff0c;每个人手上有一把钥匙&#xff0c;每一个钥匙都只能打开自己的房间门&#xff0c;现在将所有钥匙都收上来&#xff0c;然后再随机打乱分给每个小朋友&#xff0c;也就是有28&#xff01;的分法&#xff0c;请问现在其中14个小朋友的钥匙能恰好打开…

Mysql8的优化(DBA)

Mysql8的优化 1、Mysql的安装优化1.1 修改配置参数&#xff08;命令行、配件文件&#xff09;1.1.1 命令行修改配置参数1.1.2 参数持久化1.1.3 Mysql多实例启动&#xff0c;以及配置密码文件 1.2 查询表的相关参数&#xff0c;以及表空间管理 2、Mysql高级优化&#xff08;SQL&…

Android中显式Intent和隐式Intent的区别

1、intent的中文名 称是意图&#xff0c;Intent是各个组件之间信息沟通的桥梁&#xff0c; 既能在Activity之间沟通&#xff0c;又能在Activity与Service之间沟通&#xff0c;也能在Activity与Broadcast之间沟通 **intent组成元素的列表说明**2、显式Intent&#xff0c;直接指定…

编译支持国密的抓包工具 WireShark

目录 前言WireShark支持国密的 WireShark小结前言 在上一篇文章支持国密的 Web 服务器中,我们搭建了支持国密的 Web 服务器,但是,我们使用 360 安全浏览器去访问,却出现了错误: 是我们的 Web 服务器没有配置好?在这里插入图片描述还是 360 安全浏览器不支持国密?还是两…

C++面试宝典一部分

今天整理书籍资料时&#xff0c;发现多年前打印的面试资料&#xff0c;拍照分享给大家。

基于网络爬虫的购物平台价格监测系统的设计与实现

通过对网络爬虫的购物平台价格监测系统的业务流程进行梳理可知&#xff0c;网络爬虫的购物平台价格监测系统主要由前台买家模块、后台卖家模块以及管理员模块构成。前台功能包含登录功能、注册功能、系统首页功能、唯品会商品详情浏览、唯品会商品收藏、唯品会商品点赞、唯品会…

[蓝桥杯Java组] k倍区间

题目描述 给定一个长度为N的数列&#xff0c;A1, A2, … AN&#xff0c;如果其中一段连续的子序列Ai, Ai1, … Aj(i < j)之和是K的倍数&#xff0c;我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗&#xff1f; 输入&#xff1a; 第一行包含两个…

【Python】科研代码学习:八 FineTune PretrainedModel (用 trainer,用 script);LLM文本生成

【Python】科研代码学习&#xff1a;八 FineTune PretrainedModel [用 trainer&#xff0c;用 script] LLM文本生成 自己整理的 HF 库的核心关系图用 trainer 来微调一个预训练模型用 script 来做训练任务使用 LLM 做生成任务可能犯的错误&#xff0c;以及解决措施 自己整理的 …

ZYNQ实验--PDM波形生成

一、PDM简介 将信号的振幅变化按比例地变换成脉冲宽度的变化&#xff0c;得到脉冲宽度调制(PDM)。详细的原理理论可以参考该文&#xff1a;文献阅读–Pulse-Width Modulation&#xff0c;本文主要介绍PDM的FPGA实现&#xff0c;PDM的生成方式很多具体形式根据需求会有所不同 二…

【Stable Diffusion】入门:原理简介+应用安装(Windows)+生成步骤

【Stable Diffusion】入门&#xff1a;原理简介应用安装&#xff08;Windows&#xff09;生成步骤 原理简介应用安装 原理简介 稳定扩散生成模型(Stable Diffusion)是一种潜在的文本到图像扩散模型&#xff0c;能够在给定任何文本输入的情况下生成照片般逼真的图像。 应用安…

中国广电的独特优势:与三大运营商相比的亮点

2023年&#xff0c;中国广电正式上市了&#xff0c;发出了第一批号段192的号码&#xff0c;然而值得大家了解的是&#xff1a;在中国的通信市场中&#xff0c;中国移动、中国联通和中国电信长期以来占据主导地位。然而&#xff0c;随着中国广电的加入&#xff0c;市场格局正在发…

了解转义字符

了解转义字符 也许在前面的代码中你看到 \n , \0 很纳闷是啥。其实在字符中有⼀组特殊的字符是转义字符&#xff0c;转义字符顾名思义&#xff1a;转变原来的意思的字符。 比如&#xff1a;我们有字符 n &#xff0c;在字符串中打印的时候自然能打印出这个字符&#xff0c;如下…

景安空间不支持指定运行目录tp5

/WEB/public/.htaccess配置 <IfModule mod_rewrite.c> Options FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s$1 [QSA,PT,L] </IfModule>. 2./WEB/.ht…