Test1.java

 1 package com;  2 
 3 import java.util.ArrayList;  4 import java.util.Arrays;  5 import java.util.Collections;  6 import java.util.List;  7 import java.util.stream.Collectors;  8 
 9 public class Test1 {  10 
 11     public static void main(String[] args) {  12 
 13         // NO.1 6-1 什麼是數組  14         // 定義一個數組,保存五名學生的成績
 15         int[] scores = { 78, 93, 97, 84, 63 };  16 
 17         // 輸出數組中的第二個成績
 18         System.out.println("數組中的第2個成績爲:" + scores[1]);  19 
 20         // NO.2 6-3 如何使用java中的數組  21         // 定義一個長度爲5的字符串數組,保存考試科目信息
 22         String[] subjects = new String[5];  23 
 24         // 分別爲數組中的元素賦值
 25         subjects[0] = "Oracle";  26         subjects[1] = "PHP";  27         subjects[2] = "Linux";  28         subjects[3] = "Java";  29         subjects[4] = "HTML";  30 
 31         System.out.println("數組中第4個科目爲:" + subjects[3]);  32 
 33         // NO.3 6-5 使用循環操做java中的數組  34         // 定義一個長度爲 3 的字符串數組,並賦值初始值
 35         String[] hobbys = { "sports", "game", "movie" };  36         System.out.println("循環輸出數組中元素的值:");  37 
 38         // 使用循環遍歷數組中的元素
 39 
 40         for (int i = 0; i < hobbys.length; i++) {  41  System.out.println(hobbys[i]);  42  }  43 
 44         // NO.4 6-6 編程練習  45         // 定義一個整型數組,並賦初值
 46         int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };  47 
 48         int max = nums[0]; // 假定最大值爲數組中的第一個元素
 49         int min = nums[0]; // 假定最小值爲數組中的第一個元素
 50         double sum = 0;// 累加值
 51         double avg = 0;// 平均值
 52 
 53         for (int i = 0; i < nums.length; i++) { // 循環遍歷數組中的元素  54             // 若是當前值大於max,則替換max的值
 55 
 56             if (nums[i] > max) {  57 
 58                 max = nums[i];  59  }  60 
 61             // 若是當前值小於min,則替換min的值
 62 
 63             if (nums[i] < min) {  64                 min = nums[i];  65  }  66 
 67             // 累加求和
 68             sum += nums[i];  69 
 70  }  71 
 72         // 求平均值
 73         avg = sum / nums.length;  74 
 75         System.out.println("數組中的最大值:" + max);  76         System.out.println("數組中的最小值:" + min);  77         System.out.println("數組中的平均值:" + avg);  78 
 79         // NO.5 7-1 如何定義java中的方法  80         // 在 main 方法中調用 print 方法
 81         Test1 test1 = new Test1();  82  test1.print();  83 
 84         // NO.6 7-2 java中無參無返回值方法的使用
 85  test1.showMyLove();  86 
 87         // NO.7 7-3 java中無參帶返回值方法的使用  88         // 調用hello對象的calcAvg()方法,並將返回值保存在變量avg中
 89         double avg1 = test1.calcAvg();  90 
 91         System.out.println("平均成績爲:" + avg1);  92 
 93         // NO.8 7-4 編程練習  94         // 調用方法並將返回值保存在變量中
 95         int maxScore = test1.getMaxAge();  96 
 97         // 輸出最大年齡
 98         System.out.println("最大年齡爲:" + maxScore);  99 
100         // NO.9 7-5 java中帶參無返回值方法的使用
101         test1.calAvg(94, 81); 102 
103         // NO.10 7-6 java中帶參帶返回值方法的使用
104         int[] scores1 = { 79, 52, 98, 81 }; 105 
106         // 調用方法,傳入成績數組,並獲取成績的個數
107         int count = test1.sort(scores1); 108 
109         System.out.println("共有" + count + "個成績信息!"); 110 
111         // NO.11 7-8 java中方法的重載
112  test1.print(); 113         // 調用帶有一個字符串參數的方法
114         test1.print("jdjdj"); 115 
116         // 調用帶有一個整型參數的方法
117         test1.print(4); 118 
119         // NO.12 7-8 編程練習 120         // 調用方法並將返回值保存在變量中
121         int[] nums1 = test1.getArray(8); 122 
123         // 將數組轉換爲字符串並輸出
124  System.out.println(Arrays.toString(nums1)); 125 
126         // NO.13 8-1 編程練習
127         int[] scores2 = { 89, -23, 64, 91, 119, 52, 73 }; 128         int count1 = 0; 129         int[] Three = test1.numThree(scores2); 130         for (int i = scores2.length - 1; i >= 0 && count1 < 3; i--) { 131             if (Three[i] > 100 || Three[i] < 0) { 132                 continue; 133             } else { 134  System.out.println(Three[i]); 135                 count1++; 136  } 137 
138  } 139  } 140 
141     // 定義了一個方法名爲 print 的方法,實現輸出信息功能
142     public void print() { 143         System.out.println("Hello World"); 144  } 145 
146     /*
147  * 定義無參無返回值的方法 148      */
149     public void showMyLove() { 150         System.out.println("我愛慕課網!"); 151  } 152 
153     // 定義一個返回值爲double類型的方法
154     public double calcAvg() { 155 
156         double java = 92.5; 157         double php = 83.0; 158         double avg = (java + php) / 2; // 計算平均值 159 
160         // 使用return返回值
161         return avg; 162 
163  } 164 
165     /*
166  * 功能:輸出學生年齡的最大值 定義一個無參的方法,返回值爲年齡的最大值 參考步驟: 一、定義一個整形數組 ages ,保存學生年齡,數組元素依次爲 18 167  * ,23 ,21 ,19 ,25 ,29 ,17 二、定義一個整形變量 max ,保存學生最大年齡,初始時假定數組中的第一個元素爲最大值 三、使用 for 168  * 循環遍歷數組中的元素,並與假定的最大值比較,若是比假定的最大值要大,則替換當前的最大值 四、使用 return 返回最大值 169      */
170     public int getMaxAge() { 171 
172         int[] ages = { 18, 23, 21, 19, 25, 29, 17 }; 173         int maxScore = ages[0]; 174         for (int i = 1; i < ages.length; i++) { 175             if (ages[i] > maxScore) { 176                 maxScore = ages[i]; 177  } 178 
179  } 180         return maxScore; 181 
182  } 183 
184     /*
185  * 功能:計算兩門課程考試成績的平均分並輸出平均分 定義一個包含兩個參數的方法,用來傳入兩門課程的成績 186      */
187     public void calAvg(int a, int b) { 188         double c = (a + b) / 2; 189         System.out.println("pingjunfen3 " + c); 190  } 191 
192     /*
193  * 功能:將考試成績排序並輸出,返回成績的個數 定義一個包含整型數組參數的方法,傳入成績數組 使用Arrays類對成績數組進行排序並輸出 194  * 方法執行後返回數組中元素的個數 195      */
196     public int sort(int[] scores) { 197  Arrays.sort(scores); 198  System.out.println(Arrays.toString(scores)); 199 
200         // 要轉換的list集合
201         List<String> testList = new ArrayList<String>() { 202             /**
203  * 204             */
205             private static final long serialVersionUID = 1L; 206 
207  { 208                 add("aa"); 209                 add("bb"); 210                 add("cc"); 211  } 212  }; 213 
214         // 使用toArray(T[] a)方法
215         String[] array2 = testList.toArray(new String[testList.size()]); 216 
217         // 打印該數組
218         for (int i = 0; i < array2.length; i++) { 219  System.out.println(array2[i]); 220  } 221  System.out.println(Arrays.toString(array2)); 222 
223         // list升序,降序,逆序
224         List<Integer> list = new ArrayList<Integer>() { 225             /**
226  * 227             */
228             private static final long serialVersionUID = 1L; 229 
230             // { 231             // add(1); 232             // add(2); 233             // }
234  }; 235         list.add(5); 236         list.add(7); 237         list.add(2); 238         list.add(6); 239         list.add(8); 240         list.add(1); 241         list.add(4); 242 
243         System.out.println("正序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 244         // 三、逆序;
245         Collections.reverse(list);// list:4 1 8 6 2 7 5
246         System.out.println("逆序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 247         // 一、升序:
248         Collections.sort(list);// list: 1 2 4 5 6 7 8
249         System.out.println("升序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 250         // 二、降序:
251         Collections.sort(list, Collections.reverseOrder());// list:8 7 6 5 4 2 1
252         System.out.println("降序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 253 
254         // 數組升序,降序
255         int[] a = { 5, 7, 2, 6, 8, 1, 4 }; 256         // 一、升序:
257         Arrays.sort(a);// a: 1 2 4 5 6 7 8
258         System.out.println("數組升序" + Arrays.toString(a)); 259         // 二、降序: 260         // List<int[]> list2=Arrays.asList(a); 261 
262         // int[] src = {1,2,3,4,5,6,7,8,9,10};
263         List<Integer> list2 = Arrays.stream(a).boxed().collect(Collectors.toList()); 264 
265         Collections.sort(list2, Collections.reverseOrder());// a: 8 7 6 5 4 2 1
266         System.out.println("數組降序" + Arrays.toString(list2.toArray(new Integer[list2.size()]))); 267         // 返回數組中元素的個數
268         return scores.length; 269 
270  } 271 
272     public void print1() { 273         System.out.println("無參的print方法"); 274  } 275 
276     public void print(String name) { 277         System.out.println("帶有一個字符串參數的print方法,參數值爲:" + name); 278  } 279 
280     public void print(int age) { 281         System.out.println("帶有一個整型參數的print方法,參數值爲:" + age); 282  } 283 
284     /*
285  * 功能:建立指定長度的int型數組,並生成100之內隨機數爲數組中的每一個元素賦值 定義一個帶參帶返回值的方法,經過參數傳入數組的長度,返回賦值後的數組 286      */
287     public int[] getArray(int length) { 288         // 定義指定長度的整型數組
289         int[] nums = new int[length]; 290 
291         // 循環遍歷數組賦值
292         for (int i = 0; i < length; i++) { 293 
294             // 產生一個100之內的隨機數,並賦值給數組的每一個成員
295             nums[i] = (int) (Math.random() * 100); 296 
297  } 298         return nums; // 返回賦值後的數組
299  } 300 
301     // 定義方法完成成績排序並輸出前三名的功能
302 
303     public int[] numThree(int[] scores) { 304  Arrays.sort(scores); 305         return scores; 306 
307  } 308 }
相關文章
相關標籤/搜索