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

来源:互联网 发布:php构架师是什么 编辑:程序博客网 时间:2024/06/03 22:39

排序:

//快速排序法、选择排序法、冒泡排序法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("暂不支持该城市查询!");        }    }}
//运行结果:请输入您要找的城市:深圳深圳位于广东省

0 0
原创粉丝点击