Java学习笔记2024/2/7

练习四:复制数组

需求:

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

package com.angus.comprehensiveExercise;
​
public class test4 {public static void main(String[] args) {//需求://  把一个数组中的元素复制到另一个新数组中去。int[] arr = {1,3,2};int[] brr = new int[3];for (int i = 0; i < arr.length; i++) {brr[i] = arr[i];}for (int i = 0; i < brr.length; i++) {System.out.println(brr[i]);}System.out.println("^^");}
}
​

练习五:评委打分

需求 :

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

package com.angus.comprehensiveExercise;
​
import java.util.Scanner;
​
public class test5 {public static void main(String[] args) {//需求 ://  在唱歌比赛中,有6名评委给选手打分,//  分数范围是[0 - 100]之间的整数。//  选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,//  请完成上述过程并计算出选手的得分。//接收6个分数int[] scoreArr = getScore();for (int i = 0; i < scoreArr.length; i++) {System.out.println(scoreArr[i]);}//最大值int max = getMax(scoreArr);//最小值int min = getMin(scoreArr);//求和int sum = getSum(scoreArr);//求平均值int avg = (sum - max - min) / (scoreArr.length - 2);System.out.println("平均分为:" + avg);
​System.out.println("^^");}//存6个分数public static int[] getScore() {int[] scores = new int[6];Scanner scanner = new Scanner(System.in);for (int i = 0; i < scores.length;) {System.out.println("请输入分数");int score = scanner.nextInt();if (score >= 0 && score <= 100) {scores[i]=score;i++;} else {System.out.println("输入不合法,请重新输入");}}return scores;}
​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;}public static int getSum(int[] scoreArr) {int sum = 0;for (int i = 0; i < scoreArr.length; i++) {sum = sum + scoreArr[i];}return sum;}
​
}
​

练习六:数字加密

需求:

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

规则如下:

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

package com.angus.comprehensiveExercise;
​
public class test6 {public static void main(String[] args) {/*某系统的数字密码(大于0)。比如1983,采用加密方式进行传输,规则如下:每位数加上5再对10求余,最后将所有数字反转,得到一串新数。*/
​//1983int arr[] = {1,9,8,3};//加5for (int i = 0; i < arr.length; i++) {arr[i] = arr[i] + 5;//6 14 13 8}//模10for (int i = 0; i < arr.length; i++) {arr[i] = arr[i] % 10;//6 4 3 8}//反转for (int i = 0,j = arr.length - 1; i < j; i++,j--) {int temp = arr[i];//8 3 4 6arr[i] = arr[j];arr[j] = temp;}//不能直接打印,先拼起来//拼起来有两种拼,//第一种利用字符串拼接后就成了字符串,不能用于例如回文数的比较,但可以将数字与字母字符拼接起来,//第二种只能用于数字,但是可以用来跟数字比较
​//第一种String num = "";for (int i = 0; i < arr.length; i++) {num = num + arr[i];}System.out.println(num);
​//第二种int num1 = 0;for (int i = 0; i < arr.length; i++) {num1 = num1 * 10 + arr[i];}System.out.println(num1);
​System.out.println("^^");}
}
​

package com.angus.comprehensiveExercise;
​
import java.util.Scanner;
​
public class test6_6 {public static void main(String[] args) {//题目//键盘录入然后加密
​//把整数上的每一位都添加到数组当中  1983//反向推导Scanner scanner = new Scanner(System.in);System.out.println("输入加密数字");int number = scanner.nextInt();int temp = number;int count = 0;while (number != 0){number = number / 10;count++;}int arr[] = new int[count];for (int i = arr.length - 1; i >= 0; i--) {int ge = temp /1 %10;temp = temp / 10;arr[i] = ge;}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}System.out.println();//验证结果  1 9 8 3
​for (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 temp1 = arr[i];arr[i] = arr[j];arr[j] = temp1;}//8 3 4 6 --> 8346//3.把数组里面的每一个数字进行拼接,变成加密之后的结果int number1 = 0;for (int i = 0; i < arr.length; i++) {number1 = number1 * 10 + arr[i];}System.out.println(number1);}}

练习七:数字解密

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

package com.angus.comprehensiveExercise;
​
public class test7 {public static void main(String[] args) {//把上一题加密之后的数据进行解密//每位数加上5//再对10求余,//最后将所有数字反转,//得到一串新数。//按照以上规则进行解密://比如1983加密之后变成8346,解密之后变成1983
​//定义数组int arr[] = {8, 3, 4, 6};//数组反转,需要两个指针for (int i = 0,j = arr.length - 1; i < j; i++,j--) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}//上对下 模10,那么分析上的范围: 0~9加5 -> 5~14 -> 分成5~9与10~14,所以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;}}//-5for (int i = 0; i < arr.length; i++) {arr[i]=arr[i]-5;}
​//拼接String num = "";for (int i = 0; i < arr.length; i++) {num = num + arr[i];}System.out.println(num);
​System.out.println("^^");}
}
​

练习八:抽奖

需求:

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

888元的奖金被抽出
588元的奖金被抽出
10000元的奖金被抽出
1000元的奖金被抽出
2元的奖金被抽出
package com.angus.comprehensiveExercise;
​
import java.util.Random;
​
public class test8 {public static void main(String[] args) {//需求://一个大V直播抽奖,奖品是现金红包,//分别有{2, 588 , 888, 1000, 10000}五个奖金。//请使用代码模拟抽奖,打印出每个奖项,//奖项的出现顺序要随机且不重复。//打印效果如下:(随机顺序,不一定是下面的顺序)//888元的奖金被抽出//588元的奖金被抽出//10000元的奖金被抽出//1000元的奖金被抽出//2元的奖金被抽出
​//把奖项打乱然后遍历int[] arr = {2,588,888,1000,10000};Random random = new Random();for (int i = 0; i < arr.length; i++) {//获取随机索引int ranIndex = random.nextInt(arr.length);//交换int temp = arr[i];arr[i] = arr[ranIndex];arr[ranIndex] = temp;}//遍历for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}
}

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

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

相关文章

Excel——合并计算

1.表格的合并计算&#xff08;单张表格/多个表格&#xff09; Q&#xff1a;请统计两个表格中各商品的总销量和总销售额&#xff0c;将结果放置在下方任意位置。 A&#xff1a;选择一个需要将合并计算数据放置区域的空白单元格 选择【数据】——【合并计算】&#xff0c;【函…

秘塔科技推出AI搜索产品「秘塔AI搜索」

近日&#xff0c;国内一家人工智能科技公司&#xff08;秘塔科技&#xff09;推出了一款AI搜索产品——秘塔AI搜索&#xff0c;能够大幅提升搜索效率&#xff0c;解决日常生活、工作学习等场景中遇到的各类搜索需求。 秘塔AI搜索官网&#xff1a;https://metaso.cn/ 相较于传统…

前端文件下载的多种方式

前端文件下载的多种方式。 前言a标签下载a标签常用属性介绍- target&#xff0c;href&#xff0c;download。 window.location.href下载window.open下载iframe 下载动态生成a标签下载文件url下载文件流下载blob文件流转换常用类型 使用 streamSaver 看实时下载进度 前言 如果我…

B站UP主实时信息获取展示php源码

B站UP主实时数据展示系统 - PHP源码分享 想要实时追踪你心仪的B站UP主的最新动态吗&#xff1f;现在&#xff0c;你可以轻松获取并展示B站UP主的实时数据&#xff0c;包括粉丝数、作品数、头像、播放量等关键信息。 功能亮点&#xff1a; 实时更新&#xff1a;系统通过B站AP…

OpenCV识别视频中物体运动并截取保存

功能很简单&#xff1a;输入原始视频&#xff0c;输出视频中有画面变化的部分 适合理解基本框架&#xff0c;可以在这个基础上增加各种酷炫时髦的功能 [doge] ※注释非常保姆级※ import cv2 import numpy as np import os from datetime import datetime# 检测两帧之间变化…

航芯ACM32G103开发板评测 08 ADC Timer外设测试

航芯ACM32G103开发板评测 08 ADC Timer外设测试 1. 软硬件平台 ACM32G103 Board开发板MDK-ARM Keil 2. 定时器Timer 在一般的MCU芯片中&#xff0c;定时器这个外设资源是非常重要的&#xff0c;一般可以分为SysTick定时器&#xff08;系统滴答定时器&#xff09;、常规定时…

【洛谷 P1143】进制转换 题解(数学+除基取余法)

进制转换 题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入格式 共三行&#xff0c;第一行是一个正整数&#xff0c;表示需要转换的数的进制 n ( 2 ≤ n ≤ 16 ) n\ (2\le n\le 16) n (2≤n≤16)&#xff0c;第二行是一个 n n n 进制数&#xff0c;若 n >…

【Django-ninja】在django ninja中处理异常

1. 直接抛内置异常 Django ninja内置了一些常用异常类。 from ninja.errors import HttpErrorapi.get("/some/resource") def some_operation(request):if True:raise HttpError(503, "Service Unavailable. Please retry later.")2. 覆写异常类 可以覆…

代码随想录算法训练营29期Day43|LeetCode 1049,494,474

文档讲解&#xff1a;最后一块石头的重量II 目标和 一和零 1049.最后一块石头的重量II 题目链接&#xff1a;https://leetcode.cn/problems/last-stone-weight-ii/description/ 思路&#xff1a; 本题其实就是尽量让石头分成重量相同的两堆&#xff0c;相撞之后剩下的石头最…

CTF秀 ctfshow WEB入门 web1-10 wp精讲

目录 web1_查看源码 web3_抓包 web4-9_目录文件 web10_cookie web1_查看源码 ctrlu 查看源码 web3_抓包 查看源码&#xff0c;无果 抓包&#xff0c;找到flag web4-9_目录文件 GitHub - maurosoria/dirsearch: Web path scanner 下载dirsearch工具扫一下就都出来了 web4-…

以“防方视角”观JS文件信息泄露

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 案例概述02 攻击路径03 防方思路 01 案例概述 这篇文章来自微信公众号“黑白之道”&#xff0c;记录的某师傅从js文件泄露接口信息&#xff0c;未授权获取大量敏感信息以及通过逻辑漏洞登录管理员账…

邦芒解析:跳槽到管理职位须分析的四点

如果跳槽到一般的管理职位&#xff0c;需要应聘者至少进行四方面的分析&#xff1a; ​一、自己实际的背景。包括应聘者所从事的行业、专业是什么&#xff1f;实际工作年限是多少、积攒了什么样的经验、已取得的业绩等&#xff1b; ​二、自己真实的能力。除了有好的业绩…

chagpt的原理详解

GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一种基于Transformer架构的生成式预训练模型。GPT-3是其中的第三代&#xff0c;由OpenAI开发。下面是GPT的基本原理&#xff1a; Transformer架构&#xff1a; GPT基于Transformer架构&#xff0c;该架构由Att…

Vue中路由守卫的详细应用

作为一名web前端开发者&#xff0c;我们肯定经常使用Vue框架来构建我们的项目。而在Vue中&#xff0c;路由是非常重要的一部分&#xff0c;它能够实现页面的跳转和导航&#xff0c;提供更好的用户体验。然而&#xff0c;有时我们需要在路由跳转前或跳转后执行一些特定的逻辑&am…

C语言中的条件编译:探索编译时的决策

在C语言中&#xff0c;条件编译是一种特殊的编译技术&#xff0c;它允许开发者在编译时根据特定的条件选择性地包含或排除代码片段。这种技术非常有用&#xff0c;特别是当你想针对不同的平台、操作系统或配置编译不同的代码时。 在C语言中&#xff0c;条件编译主要通过预处理…

go语言进阶篇——面向对象(一)

什么是面向对象 在我们设计代码时&#xff0c;比如写一个算法题或者写一个问题结局办法时&#xff0c;我们常常会使用面向过程的方式来书写代码&#xff0c;面向过程主要指的是以解决问题为中心&#xff0c;按照一步步具体的步骤来编写代码或者调用函数&#xff0c;他在问题规…

后端的技术设计文档

一、 背景 1.简介 2.业务规划(非必需) 3.工作项拆解 拆解成多个工作项&#xff0c;每个工作项&#xff0c;需要多少人力。 4.资源评估(非必需) 有没有新的服务 二、架构设计 1.架构图(非必需&#xff0c;新服务比较需要) 2.技术选型 SpringCloud、Redis、Mysql、Myba…

SSL与TLS--一起学习技术干货之网络协议

一、定义 1、SSL协议&#xff08;Secure Sockets Layer Protocol&#xff09;&#xff1a;是一种安全协议&#xff0c;用于对网络通信提供安全保障。它最初由网景公司开发&#xff0c;现在由IETF维护标准。通过在应用层和传输层之间建立安全连接&#xff0c;SSL协议保护了数据…

优化 IT 支出和消除浪费的 8 种主要方法

不懈追求最佳 IT 支出对于任何组织的长期可持续发展和成功都至关重要。在这个技术快速进步的时代&#xff0c;您必须做出明智的决策&#xff0c;消除浪费&#xff0c;同时最大限度地提高技术投资的价值。 从进行 IT 成本分析到采用敏捷预算和技术标准化&#xff0c;这些策略对…

双非本科准备秋招(19.1)—— Synchronized优化

轻量级锁 流程 一个对象虽然有多线程加锁&#xff0c;但是加锁时间是错开的&#xff0c;那么可以用轻量级锁优化。 语法还是synchronized&#xff0c;只是对使用者是透明的。 static final Object obj new Object(); public static void method1() {synchronized( obj ) {//…