Java數組練習


需求

1.將一個給定的整型數組轉置輸出,
例如: 源數組,1 2 3 4 5 6
轉置之后的數組,6 5 4 3 2 1

2.現在有如下的一個數組:
int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
要求將以上數組中值為0的項去掉,將不為0的值存入一個新的數組,生成的新數組為:
int[] newArr = {1,3,4,5,6,6,5,4,7,6,7,5} ;

3.現在給出兩個數組:
數組a:"1,7,9,11,13,15,17,19"
數組b:"2,4,6,8,10"
兩個數組合並為數組c。

思路

1. (1)給任意一個確定的數組,作為參數;

  (2)定義一個函數,完成轉置數組的功能(用冒泡排序從大到小完成排序),然后返回該數組;

  (3)再主方法里面調用該函數,並傳入一個確定的數組,返回轉置后的數組,然后遍歷查看;

2. (1)定義一個函數,參數為一個整形數組,先判斷里面非零的個數;然后再創建一個新數組,

  再把舊數組里面的非零值賦值給新的數組;最后返回新數組;

  (2)主方法里面定義一個數組,以該數組為參數,調用函數,返回一個新的數組,然后遍歷

  新數組查看

3. (1)定義一個函數,完成合並兩個數組,並返回合並之后的數組

  (2)定義兩個數組,調用函數,返回一個數組並遍歷查看它

源碼

1.

 1 package one;
 2 
 3 /**
 4  * @author xjs
 5  * @date 2019/4/22 - 23:11
 6  */
 7 
 8 public class Test1 {
 9 
10     public static int[] fun(int [] arr){
11         //冒泡排序--把最小的放最后面
12         for (int i=0;i<arr.length-1;i++){//length-1--要排到最后的數的個數為n-1
13             for(int j=0;j<arr.length-1-i;j++){//length-i趟------兩兩比較的次數 n-1-i,而且每次比較下標都是從0開始
14                 if(arr[j]<arr[j+1]){
15                     int temp=arr[j];
16                     arr[j]=arr[j+1];
17                     arr[j+1]=temp;
18                 }
19             }
20         }
21         return arr;
22     }
23 
24     public static void main(String[] args) {
25         int[] arr={1,2,3,4,5,6};
26         arr=Test1.fun(arr);
27 
28         for (int i = 0; i < arr.length; i++) {
29             System.out.print(arr[i]+" ");
30         }
31     }
32 }

2.

 1 package one;
 2 
 3 /**
 4  * @author xjs
 5  * @date 2019/4/23 - 8:50
 6  */
 7 
 8 public class Test4 {
 9     /*函數:通過傳來一個數組,先判斷里面的非零個數,然后創建
10     一個新數組,再把舊數組里面的非零數賦值到新的數組里面,
11     最后返回新的數組*/
12     public static int[] fun(int oldArr[]){
13         int k=0;
14         for (int i = 0; i < oldArr.length; i++) {
15             if (oldArr[i]==0){
16                 k++;
17             }
18         }
19         int m=oldArr.length-k;
20         int[] newArr=new int[m];
21         int j=0;
22         for (int i = 0; i < oldArr.length; i++) {
23             if (oldArr[i]!=0){
24                 newArr[j]=oldArr[i];
25                 j++;
26             }
27         }
28         return newArr;
29     }
30     
31     public static void main(String[] args) {
32         int[] oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
33         int[] newArr=fun(oldArr);
34         for (int i = 0; i < newArr.length; i++) {
35             System.out.print(newArr[i]+" ");
36         }
37     }
38 }

3.

 1 package one;
 2 
 3 /**
 4  * @author xjs
 5  * @date 2019/4/23 - 8:23
 6  */
 7 
 8 public class Test3 {
 9 
10     public static int[] fun(int[] a,int[] b){
11         int m=a.length+b.length;
12         int[] c=new int[m];
13         for (int i = 0; i <c.length ; i++) {
14             if (i<a.length){
15                 c[i]=a[i];
16             }else {
17                 c[i]=b[i-a.length];
18             }
19         }
20         return c;
21     }
22 
23     public static void main(String[] args) {
24         //可將任意確定的數組傳進函數,然后合並
25         int[] a={1,7,9,11,13,15,17,19};
26         int[] b={2,4,6,8,10};
27         int[] c=fun(a,b);
28         for (int i = 0; i < c.length; i++) {
29             int i1 = c[i];
30             System.out.print(i1+" ");
31         }
32     }
33 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM