【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.pswp.cn/web/11146.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11146.shtml
英文地址,請注明出處:http://en.pswp.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.在父路…