java程式碼庫03——定義類
阿新 • • 發佈:2018-12-06
1.用於將一個數組的所有元素變成它原來的元素和它前一個元素的和,(第一個元素除外!)
思路:分兩種,第一種是新建一個數組來儲存,第二個用倒序遍歷,然後從arr.length-1開始讓當前的元素和前一個元素進行相加,然後在加個列印方法
/* * 定義一個方法:用於將一個數組的所有元素變成它原來的元素和它之前一個元素的和,第一個元素除外 * 即:{1,2,3,4,5} * 執行後{1,3,5,7,9} * 分成兩種 * 方法中新建一個數組,方法中不重新建立陣列 * */ package com.test; public class Practise1 {View Codepublic static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5}; int[] newArray = change1(arr); printArray(newArray); change2(arr); printArray(arr); } // 第一種方式:新建一個數組 public static int[] change1(int[] arr) {int[] temp = new int[arr.length]; temp[0] = arr[0]; for (int i = 1; i < arr.length; i++) { temp[i] = arr[i] + arr[i - 1]; } return temp; } // 第二種方法:不新建陣列 public static void change2(int[] arr){ for (int i = arr.length-1; i > 0; i--) { arr[i]= arr[i]+arr[i-1]; } } // 陣列的列印方法 public static void printArray(int[] arr){ for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]); if(i != arr.length - 1){ System.out.print(","); } } System.out.println(); } }
2.計算二維陣列的和
思路:雙層for迴圈,arr[0][0]開始,求和在sum +=arr[i][j]列印輸出即可,第一層迴圈用的是arr.length。第二層迴圈使用的是arr[i].length
/* 統計所有月份的銷售記錄之和: 第一季度:10,20,30 第二季度:40,50,60 第三季度:70,80,90 第四季度:30,30,30 */ public class TwoDemensionArrayDemo3{ public static void main(String[] args){ int[][] arr = { {10,20,30}, {40,50,60}, {70,80,90}, {30,30,30} }; int sum = 0; for(int i = 0;i<arr.length;i++){ for(int j = 0;j<arr[i].length;j++){ sum += arr[i][j]; } } System.out.println("總銷售額是: " + sum); } }View Code
3.計算二維陣列的元素個數
思路:跟第二個題很像,再迴圈裡面加個count++,即可
package com.test; import java.awt.Dialog; public class Practise3 { public static void main(String[] args) { int[][] arr ={ {10,20,30}, {40,50,60}, {20,30,20} }; int sum = 0; int count = 0; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { count++; sum +=arr[i][j]; } } System.out.println("銷售總額是: "+ sum); } }View Code
4.定義一個方法,用於取出一個數組中所有偶數元素組成的陣列!
思路:定義一個方法來統計偶數元素的個數,再定義一個變數index,利用上一個方法統計出的偶數項個數,來把元素的偶數項賦值給新的陣列,注意要寫成dest[ index++]=arr[i],需要索引自加
/* 定義一個方法,用於取出一個數組中所有偶數元素組成的陣列! 首先計算偶數元素的個數,用個數建立一個新的陣列, 遍歷源陣列,把符合條件的元素賦值給新陣列 兩次遍歷: 1.求偶數元素的個數 2.賦值 */ public class ExtractEvenElementDemo{ public static void main(String[] args){ int[] src = {1,2,3,4,5,6,67,7,8}; printArray(src); int[] dest = extractEvenElement(src); printArray(dest); } public static void printArray(int[] arr){ for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]); if(i != arr.length - 1){ System.out.print(","); } } System.out.println(); } //返回值型別:int[] //形參列表:int[] src public static int[] extractEvenElement(int[] src){ //第一次遍歷,求偶數元素的個數 int len = 0; for(int i = 0;i<src.length;i++){ if(src[i] % 2 == 0){ len++; } } //建立新陣列 int[] dest = new int[len]; //第一次遍歷,求偶數元素的個數 int index = 0; for(int i = 0;i<src.length;i++){ if(src[i] % 2 == 0){ dest[index++] = src[i]; } } return dest; } }View Code
4.定義一個方法,用於將一個int陣列的偶數索引的元素抽取出來.
思路:在計算新陣列的長度時,索引為0時,個數為0;索引為1時,個數為1;所以長度是(length+1)/2,然後再算是否除以2的餘數是0,有就記錄下來進行賦值。
/* 定義一個方法,用於將一個int陣列的偶數索引的元素抽取出來. 計算偶數索引元素的個數,建立新的陣列, 遍歷源陣列,判斷符合條件的,賦值給新陣列 */ public class ExtractEvenIndexDemo{ public static void main(String[] args){ int[] arr = {1,2,3,4,5,6,7,8,9,0}; int[] dest = extractEvenIndex(arr); printArray(dest); } public static void printArray(int[] arr){ for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]); if(i != arr.length - 1){ System.out.print(","); } } System.out.println(); } //返回值型別:int[] //形參列表:int[] public static int[] extractEvenIndex(int[] arr){ //計算偶數索引的個數 int[] dest = new int[(arr.length + 1) / 2]; //遍歷源陣列,判斷 int index = 0; for(int i = 0;i<arr.length;i++){ if(i % 2 == 0){ dest[index++] = arr[i]; } } return dest; } }View Code