码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习笔记6(循环和数组练习题)

时间:2018-01-06 17:56:19      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:arch   i+1   system   --   打印   bubble   void   ==   选择排序   

1.输出100到1000的水仙花数:

public class LoopTest{
    public static void main(String[] args){
        int bai = 0;
        int shi = 0;
        int ge = 0;
        for(int i = 100; i < 1000; i++){
            bai = i/100;
            shi = i/10%10;
            ge = i%10;
            if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i ){
                System.out.println(i);
            }
        }
    }
}

2.打印所有字母:

public class LoopTest{
    public static void main(String[] args){
        char lower = ‘a‘;
        char upper = ‘A‘;
        for(int i = 0 ; i < 26 ; i++){
            System.out.println(lower+"   "+upper);
            lower++;
            upper++;
        }
    }
}

3.打印99乘法表:

public class LoopTest{
    public static void main(String[] args){
        for(int i = 1; i <=9 ; i++){
            for(int j = 1 ; j<=i ; j++){
                System.out.print(j+"*"+i+"="+j*i+"    ");
            }
            System.out.println();
        }
    }
}

4.按格式遍历数组:

public class ArrayTest{
    public static void main(String[] args){
        int[] arr1 = {4,6,7,1};
        int[] arr2 = {1,2,3,9,10};
        printArray(arr1);
        printArray(arr2);
    }
    public static void printArray(int[] arr){
        System.out.print("[");
        for(int i = 0 ; i <arr.length ; i++){
            if( i == arr.length-1){
                System.out.println(arr[i]+"]");
            }else{
                System.out.print(arr[i]+",");
            }
        }
    }
}

5.数组元素逆序(注意:不是反向遍历):

public class ArrayTest{
    public static void main(String[] args){
        int[] arr = {1,2,3,4,7,8,9};
        reverse(arr);
        printArray(arr);
    }
    public static void reverse(int[] arr){
        for(int min=0,max = arr.length-1; min<max ; min++,max--){
            int temp = arr[min];
            arr[min] = arr[max];
            arr[max] = temp;
        }
    }
     public static void printArray(int[] arr){
        System.out.print("[");
        for(int i = 0 ; i <arr.length ; i++){
            if( i == arr.length-1){
                System.out.println(arr[i]+"]");
            }else{
                System.out.print(arr[i]+",");
            }
        }
    }
}

6.选择排序:

public class ArrayTest{
    public static void main(String[] args){
        int[] arr = {3,1,5,7,8,9,2};
        selectSort(arr);
        printArray(arr);
    }
    public static void selectSort(int[] arr){
        for(int i = 0; i < arr.length-1; i++){
            for(int j = i+1; j<arr.length; j++){
                if(arr[i]>arr[j]){
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
    public static void printArray(int[] arr){
        System.out.print("[");
        for(int i = 0 ; i <arr.length ; i++){
            if( i == arr.length-1){
                System.out.println(arr[i]+"]");
            }else{
                System.out.print(arr[i]+",");
            }
        }
    }
}

7.冒泡排序:

public class ArrayTest{
    public static void main(String[] args){
        int[] arr = {3,1,5,7,8,9,2};
        bubbleSort(arr);
        printArray(arr);
    }
    public static void bubbleSort(int[] arr){
        for(int i = 0; i<arr.length-1 ;i++){
            for(int j = 0; j<arr.length-i-1; j++){
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }
    public static void printArray(int[] arr){
        System.out.print("[");
        for(int i = 0 ; i <arr.length ; i++){
            if( i == arr.length-1){
                System.out.println(arr[i]+"]");
            }else{
                System.out.print(arr[i]+",");
            }
        }
    }
}

8.折半查找法(注意必须是有序的数组):

public class ArrayTest{
    public static void main(String[] args){
        int[] arr = {1,3,5,7,9,11};
        int index = binarySearch(arr, 7);
        System.out.println(index);
    }
    public static int binarySearch(int[] arr,int key){
        int min = 0;
        int max = arr.length-1;
        int mid = 0;
        while( min<=max ){
            mid = (min+max)/2;
            if(key>arr[mid]){
                min = mid+1;
            }else if(key<arr[mid]){
                max = mid-1;
            }else{
                return mid;
            }
        }
        return -1;
    }
}

 

Java学习笔记6(循环和数组练习题)

标签:arch   i+1   system   --   打印   bubble   void   ==   选择排序   

原文地址:https://www.cnblogs.com/xuyiqing/p/8214329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!