【Java】数组训练案例

训练案例1
需求描述:
定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值。
操作步骤描述:
1) 定义5个元素数组。
2) 可以使用初始化数组的两种方式之一为数组元素赋值。
3) 遍历数组求数组中的最小值。

/*** 定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值。* 操作步骤描述:* 1) 定义5个元素数组。* 2) 可以使用初始化数组的两种方式之一为数组元素赋值。* 3) 遍历数组求数组中的最小值。*/
public class Test01 {public static void main(String[] args) {int [] arr={5,9,1,3,8};int min=arr[0];for (int i = 0; i < arr.length; i++) {if(min>arr[i]){min=arr[i];}}System.out.println(min);}
}

训练案例2
需求描述:
定义一个长度为3的一维数组,给每个元素赋值。(要求数组中每个元素的值是0-9的随机数)。遍历数组打印每个元素的值。
操作步骤描述:
1) 定义长度为3的数组。
2) 创建Random引用数据类型的变量。
3) 生成3个0-9的随机数,为每一个元素赋值(可以用循环,也可以不使用循环)。
4) 遍历数组,并打印每一个元素。

import java.util.Random;/*** 定义一个长度为3的一维数组,给每个元素赋值。(要求数组中每个元素的值是0-9的随机数)。遍历数组打印每个元素的值。* 操作步骤描述:* 1) 定义长度为3的数组。* 2) 创建Random引用数据类型的变量。* 3) 生成3个0-9的随机数,为每一个元素赋值(可以用循环,也可以不使用循环)。* 4) 遍历数组,并打印每一个元素。*/
public class Test02 {public static void main(String[] args) {int[] arr= new int[3];Random r = new Random();int a =r.nextInt(10);int b =r.nextInt(10);int c =r.nextInt(10);arr[0]=a;arr[1]=b;arr[2]=c;for (int j = 0; j < arr.length; j++) {System.out.println(arr[j]);}}
}

训练案例3
需求描述:已知数组int[] nums = {5,10,15},要求创建一个新数组。
1) 新数组的长度和已知数组相同。
2) 新数组每个元素的值 是已知数组对应位置元素的2倍。
3) 在控制台中打印新数组的所有元素。
操作步骤描述:
1) 定义题目要求的已知数组。
2) 定义题目要求的新数组。
3) 根据条件为新数组中每个元素赋值。
4) 遍历新数组打印到控制台中。

/*** 已知数组int[] nums = {5,10,15},要求创建一个新数组。* 1) 新数组的长度和已知数组相同。* 2) 新数组每个元素的值 是已知数组对应位置元素的2倍。* 3) 在控制台中打印新数组的所有元素。*/
public class Test03 {public static void main(String[] args) {int[] nums = {5,10,15};int[] arr = new int[3];for (int i = 0; i < nums.length; i++) {arr[i]=2*nums[i];}for (int j = 0; j < arr.length; j++) {System.out.print(arr[j]+" ");}}
}

训练案例4
需求描述:
键盘录入一个整数,创建一个该长度的数组,为每一个元素赋值为1-10的随机整数,最后打印数组中所有值大于5且为偶数的元素。
操作步骤描述:
1.键盘录入一个整数。
2.定义长度为该整数的数组。
3.创建Random引用数据类型的变量。
4.生成5个0-9的随机数,为每一个元素赋值(建议用循环)。
5.遍历数组,输出满足条件的元素。

import java.util.Random;
import java.util.Scanner;/*** 键盘录入一个整数,创建一个该长度的数组,为每一个元素赋值为1-10的随机整数,最后打印数组中所有值大于5且为偶数的元素。* 操作步骤描述:* 1.键盘录入一个整数。* 2.定义长度为该整数的数组。* 3.创建Random引用数据类型的变量。* 4.生成0-9的随机数,为每一个元素赋值(建议用循环)。* 5.遍历数组,输出满足条件的元素。*/
public class Test04 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入该长度:");int l = sc.nextInt();int[] arr = new int[l];Random r = new Random();for (int i = 0; i < arr.length; i++) {int n = r.nextInt(10);arr[i]=n;if(arr[i]>5&&arr[i]%2==0){System.out.println(arr[i]);}}}
}

训练案例5
需求描述:
1.将数字1-10保存到一个长度为10的一维数组中。
2.定义一个新数组,长度为3,取出原来数组中随机三个元素(不考虑是否重复)。
3.给新数组的元素赋值。
4.求新数组所有元素的和。
操作步骤描述:无。

import java.util.Random;/*** 1.将数字1-10保存到一个长度为10的一维数组中。* 2.定义一个新数组,长度为3,取出原来数组中随机三个元素(不考虑是否重复)。* 3.给新数组的元素赋值。* 4.求新数组所有元素的和。*/
public class Test05 {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};int[] arr1 = new int[3];boolean d[] = new boolean[arr.length];Random r = new Random();int num =r.nextInt();int count = 3; // 要随机取的元素个数int n = 0;int sum =0;while (true) {int temp = r.nextInt(10);if (!d[temp]) {if (n == count) // 取到足量随机数后退出循环break;n++;sum+=arr[temp];System.out.println("得到的第" + n + "个数组中随机数为:" + arr[temp]);}}System.out.println(sum);}
}

拓展案例
需求描述:
1)基础班考试要进行分组,键盘录入该班级总共多少组,以及每组的学生数量。
2)根据录入的组数及每组学员的数量创建二维数组。
3)利用随机数产生0-100的成绩(包含0和100)。
4)要求:
1)打印该班级中每组的不及格人数。
2)打印该班级中每组的平均分。
3)打印组的最高平均分。
4)打印班级中的不及格人数。
5)打印班级平均分。
6)演示格式如下:
请输入班级总组数:3
请输入班级中每组的人数:10
控制台输出:
第1组不及格人数为: 6 人
第1组平均分为: 52
第2组不及格人数为: 7 人
第2组平均分为: 46
第3组不及格人数为: 3 人
第3组平均分为: 69
班级中单组最高平均分为:69
班级中不及格人数为: 16 人
班级总平均分为: 56
操作步骤描述:
1) 创建键盘录入对象。
2) 定义int类型的变量zs(组数)和zps(每组的人数),并通过键盘录入给zs(组数)和zps(每组的人数)赋值。
3) 创建int类型的二维数组,int[][] arr = new int[zs][zps];
4) 创建Random对象。
5) 遍历数组。
1)随机产生[0-100]的值。
2)将随机产生的数值赋值给数组中的当前元素。
6) 分析以上打印格式,需要定义以下变量。
1)定义inGroupLower60Num(每组内低于60的学员数量),用于统计每组的不及格人数。
2)定义inClassLower60Num,用于统计班级中的不及格人数。
3)定义groupMaxAvg,用于统计单组最高平均分。
4)定义inGroupSum,用于统计每组的总分。
5)定义inClassNum,用于统计班级的人员数量。
6)定义inClassSum,用于统计班级的总分。
7) 遍历二维数组,进行以上统计。

import java.util.Random;
import java.util.Scanner;public class Test06 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入有多少组:");int zs = sc.nextInt();System.out.println("请输入每组的人数:");int zps = sc.nextInt();int[][] arry = new int [zs][zps];Random ran = new Random();int inGroupLower60Num = 0;//用于统计每组的不及格人数int ClassLower60Num = 0;  //用于统计班级中的不及格人数double groupMaxAvg = 0;      //用于统计单组最高平均分int inGroupSum = 0;       //用于统计每组的总分int inClassNum = 0;       //用于统计班级的人员数量int inClassSum = 0;       //用于统计班级平均分的总分int z = 0;                //单组低于60人总数double b = 0;                //班级平均分double c = 0;               //班级平均分总分double MAX = 0;double groupAvg = 0;//单组平均分for (int i = 0; i < arry.length; i++) {for (int j = 0; j < arry[i].length; j++) {int num = ran.nextInt(101);//0-100arry[i][j] = num;inGroupSum += arry[i][j];if (num < 60){z++;}}groupAvg = inGroupSum /arry[i].length;System.out.println("第"+(i+1)+"组不及格人数为:"+ z );System.out.println("第"+(i+1)+"组平均分为:"+ groupAvg);if (groupAvg > MAX){groupMaxAvg = groupAvg;MAX = groupAvg;}ClassLower60Num += z;inClassSum +=groupAvg;groupAvg = 0;z = 0;inGroupSum = 0;}b = inClassSum / zs;System.out.println("班级中单组最高平均分为:"+ groupMaxAvg);System.out.println("班级中不及格人数为:"+ ClassLower60Num);System.out.println("班级总平均分为:"+ b);}
}

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

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

相关文章

最佳解决Maven同一依赖多版本共存问题,重复依赖(同一个jar包,多个版本)-maven-shade-plugin

先看链接:原文链接 参照原文链接生成的文件(下面是我放的位置) mvn指令 mvn install:install-file -DfileD:\mavenrepository/maven-shade.jar -DgroupIdcom.wj -DartifactIdmaven-shade -Dversion1.1 -Dpackagingjar如果配置了maven_home 和java_home可以任意打开cmd执行(…

Google: 在新知识上微调大语言模型是否会鼓励产生幻觉?

摘要 当大型语言模型通过监督式微调进行对齐时,它们可能会遇到在预训练期间没有获得的新事实信息。人们经常推测,这可能会教导模型产生事实上不正确的回应的行为,因为模型被训练成生成没有基于其预先存在的知识的事实。在这项工作中,Google研究了这种暴露在新知识下对微调后模…

基于springboot实现高校教师电子名片系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现高校教师电子名片系统演示 摘要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;名片信息因为其管理内容繁杂&#xff…

C++的数据结构(五):树和存储结构及示例

在计算机科学中&#xff0c;树是一种抽象数据类型&#xff08;ADT&#xff09;或是实现这种抽象数据类型的数据结构&#xff0c;用来模拟具有树状结构性质的数据集合。这种数据结构以一系列连接的节点来形成树形结构。在C中&#xff0c;树的概念和存储结构是实现各种复杂算法和…

Java--初识类和对象

前言 本篇讲解Java类和对象的入门版本。 学习目的&#xff1a; 1.理解什么是类和对象。 2.引入面向对象程序设计的概念 3.学会如何定义类和创建对象。 4.理解this引用。 5.了解构造方法的概念并学会使用 考虑到篇幅过长问题&#xff0c;作者决定分多次发布。 面向对象的引入 J…

Docker之grep: (standard input): binary file matches

使用 docker compose logs -f | grep 命令时遇到了 grep: (standard input): binary file matches 错误。 这个错误通常发生在 grep 尝试搜索包含二进制内容的文件时。docker compose logs 命令会输出容器的日志&#xff0c;而这些日志可能包含二进制数据&#xff0c;导致 gre…

MySQL查询篇-集合运算

文章目录 union &#xff08;并集&#xff09;union distinctunion all intersect(交集)intersect allintersect distinct except 差集except distinctexcept distinctexcept all union &#xff08;并集&#xff09; union distinct 使用前提&#xff1a;a和c数据类型一致&a…

互联网摸鱼日报(2024-05-13)

互联网摸鱼日报(2024-05-13) 36氪新闻 当绿色飞行成为潮流&#xff0c;这家航空公司定下了新目标 | 最前线 回收雨水浇花&#xff0c;厨余垃圾变肥料&#xff0c;我们打卡了阿里北京新园区 | 最前线 本周双碳大事&#xff1a;中美就气候问题进行会谈&#xff1b;锂电池行业迎…

GIAT: 蛋白质结构预测的新利器

瑞典Karolinska研究院在瑞典政府赞助下由Ben Murrell等研究团队在AlphaFold 3最新报告后提出这篇论文提出了一种非常有趣和创新的方法来生成蛋白质骨架结构,称为生成式不变角度转换器(GIAT)。与现有的主要基于扩散模型和流匹配的方法不同,GIAT采用了类似于大型语言模型(如GPT)中…

【C语言|数据结构】双向链表

文章目录 前言1、初步认识双向链表1.1 定义&#xff1a;1.2 结构1.3 节点的存储 2、双向链表的接口函数2.1 链表的节点的动态申请2.2 链表的初始化2.3 尾插2.4 头插2.5 头删2.5 尾删2.6 在pos节点后面添加数据2.6 删除pos节点 3、双向链表的实现&#xff1a; 前言 各位小伙伴大…

C控制语句:分支和跳转

1.1if语句 //colddays.c --找出0摄氏度以下的天数占总天数的百分比 #include <stdio.h>int main(void) {const int FREEZING 0;float temperature;int cold_days 0;int all_days 0;printf("Enter the list of daily low temperature.\n");printf("Use…

电子学会C/C++编程等级考试2024年03月(八级)真题解析

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;道路 N个以 1 … N 标号的城市通过单向的道路相连:。每条道路包含两个参数&#xff1a;道路的长度和需要为该路付的通行费&#xff08;以金币的数目来表示&#xff09; Bob and Alice 过去住在城市 1.在…

蓝海创业商机小吃配方项目,日入200+ ,小白可上手,图文创作转现快

小吃技术销售&#xff0c;一单价格从几元到几百元不等&#xff0c;行业竞争相对较小&#xff0c;是一个相对冷门的领域。只需一部手机&#xff0c;就可以发布图文并茂的内容&#xff0c;配上背景音乐&#xff08;BGM&#xff09;&#xff0c;即使是对视频剪辑不熟悉的新手&…

面试中算法(金矿)

有一位国王拥有5座金矿&#xff0c;每座金矿的黄金储量不同&#xff0c;需要参与挖掘的工人人数也不同。 例如&#xff0c;有的金矿储量是5ookg黄金&#xff0c;需要5个工人来挖掘;有的金矿储量是2ookg黄金&#xff0c;需要3个工人来挖掘...... 如果参与挖矿的工人的总数是10。…

【Oracle impdp导入dmp文件(windows)】

Oracle impdp导入dmp文件&#xff08;windows&#xff09; 1、连接数据库2、创建与导出的模式相同名称的用户WIRELESS2&#xff0c;并赋予权限3、创建directory 的物理目录f:\radio\dmp&#xff0c;并把.dmp文件放进去4、连接新用户WIRELESS25、创建表空间的物理目录F:\radio\t…

试衣不再有界:Tunnel Try-on开启视频试衣应用新纪元

论文&#xff1a;https://arxiv.org/pdf/2404.17571 主页&#xff1a;https://mengtingchen.github.io/tunnel-try-on-page/ 一、摘要总结 随着虚拟试衣技术的发展&#xff0c;消费者和时尚行业对于能够在视频中实现高质量虚拟试衣的需求日益增长。这项技术允许用户在不实际穿…

目标检测——印度车辆数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

弱监督语义分割学习笔记

目录 partial cross entropy loss GitHub - LiheYoung/UniMatch: [CVPR 2023] Revisiting Weak-to-Strong Consistency in Semi-Supervised Semantic Segmentation partial cross entropy loss import torch import torch.nn.functional as Fdef partial_cross_entropy_loss…

区块链中的APP与传统APP的区别

一、技术 区块链中的APP是基于区块链技术开发的&#xff0c;而传统APP则基于传统的应用程序商店或网页。区块链中的APP利用区块链技术的去中心化、数据不可篡改等特点&#xff0c;使得应用程序的开发和分发更加安全、透明和可信。与传统APP相比&#xff0c;区块链中的APP无需中…

如何实现嵌套路由

实现步骤 1. 新建子页面 2. 在router/index.js中的父路由节点添加children数组 3. 在children中添加子路由 {path: /,name: home,component: HomeView,children: [ {path: /pageA,name: pageA,component: pageA},{path: /pageB,name: pageB,component: pageB}] }, 5.在父路…