20160803------排序、二维数组

2017-03-14  本文已影响0人  shallwego_

排序:

//快速排序法、选择排序法、冒泡排序法

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. 定义
数据类型[][] 数组名
数据类型 数组名[][]
  1. 初始化
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个班级的总成绩为:161
第2个班级的总成绩为:215
第3个班级的总成绩为: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("暂不支持该城市查询!");
        }
    }

}

//运行结果:

请输入您要找的城市:深圳
深圳位于广东省

上一篇 下一篇

猜你喜欢

热点阅读