20160803------排序、二維數組

排序:

//快速排序法、選擇排序法、冒泡排序法

import java.util.Arrays;

public class ArraySort {
    public static void main(String[] args) {
        int arr[]={5,4,3,2,1};
//      //快速排序法
//      System.out.println("快速排序法:");
//      Arrays.sort(arr);
//      for (int i = 0; i < arr.length; i++) {
//          System.out.print(arr[i]+"  ");
//      }
//      System.out.println();
//      //選擇排序法
//      System.out.println("選擇排序法:");
//      for (int i = 0; i < arr.length-1; i++) {
//          int min=i;
//          for (int j = i+1; j < arr.length; j++) {
//              if(arr[min]>arr[j]){
//                  min=j;
//              }
//          }
//          if(min!=i){
//              int temp=arr[i];
//              arr[i]=arr[min];
//              arr[min]=temp;
//          }
//      }
//      for (int i = 0; i < arr.length; i++) {
//          System.out.print(arr[i]+"  ");
//      }
//      System.out.println();
//      
        //冒泡排序法(輸出排序過程)
        System.out.println("冒泡排序法:");
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = 0; j < arr.length-1-i; j++) {
                if(arr[j+1]<arr[j]){
                    int temp=0;
                    temp=arr[j+1];
                    arr[j+1]=arr[j];
                    arr[j]=temp;
                }
                for (int k = 0; k < arr.length; k++) {
                    System.out.print(arr[k]+" ");
                }
                System.out.println();
            }
            System.out.println();
        }
    }
}
//運行結果:

冒泡排序法:
4 5 3 2 1 
4 3 5 2 1 
4 3 2 5 1 
4 3 2 1 5 

3 4 2 1 5 
3 2 4 1 5 
3 2 1 4 5 

2 3 1 4 5 
2 1 3 4 5 

1 2 3 4 5 

( 3 ) 二維數組

1) 定義

數據類型[][] 數組名
數據類型 數組名[][]

2) 初始化

int arr[][] ={{1,2},{1,2,3},{4,5,6,7}};
int arr2[][]= new int[3][];
int arr3[][]=new int{{1,2},{1,2,3},{4,5,6,7}};

【除了定義的值,其他值是否爲null?】

3)遍歷數組

for(int i=0;i<arr.length;i++){
    for(int j=0;j<arr[i].length;j++){
        System.out.println(arr[i][j]);
    }
}

Test:

//1、二維數組的定義、初始化、遍歷public class Test1 

public class Test1 {
    public static void main(String[] args){
        //二維數組的定義
        /*int arr1[][];
        int [][] arr2;*/
        //初始化
        int arr1[][] ={{1,2},{1,2,3},{4,5,6,7}};
        int arr2[][]=new int[3][];
        int arr3[][]=new int[][]{{1,2},{1,2,3},{4,5,6,7}};
        //遍歷
        for (int i = 0; i < arr1.length; i++) {
            for (int j = 0; j < arr1[i].length; j++) {
                System.out.print(arr1[i][j]+"\t");
            }
            System.out.println();
        }
    }
}

//運行結果:

1   2   
1   2   3   
4   5   6   7   

//2、計算三個班級的總成績。

public class Test2 {
    public static void main(String[] args) {

        int [][]arr={{66,95},{98,42,75},{23,86,65}};
        for (int i = 0; i < arr.length; i++) {
            int total=0;
            for (int j = 0; j < arr[i].length; j++) {
                total+=arr[i][j];
            }
            System.out.println("第"+(i+1)+"個班級的總成績爲:"+total);
        }
    }
}
//運行結果:1個班級的總成績爲:1612個班級的總成績爲:2153個班級的總成績爲:174

//3、根據輸入的城市查詢省份

import java.util.*;

public class Test3 {
    public static void main(String[] args) {

        String findCity;
        boolean isFound=false;
        Scanner scanner=new Scanner(System.in);
        String [][] citys = {
                {"廣東省","廣州","深圳","珠海"},
                {"江蘇省","南京","無錫","蘇州"},
                {"浙江省","杭州","寧波","溫州"},
                {"河南省","洛陽","南陽","信陽"}
                };
        System.out.print("請輸入您要找的城市:");
        findCity= scanner.next();
        outer:for (int i = 0; i < citys.length; i++) {
            for (int j = 1; j < citys[i].length; j++) {
                if(findCity.equals(citys[i][j])){
                    isFound=true;
                    System.out.println(findCity+"位於"+citys[i][0]);
                }
            }
        }
        if(!isFound){
            System.out.println("暫不支持該城市查詢!");
        }
    }

}
//運行結果:

請輸入您要找的城市:深圳
深圳位於廣東省

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章