Java 数组练习题(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33624284/article/details/52923092

1、输入10个整数存入数组,求最大值和最小值

package com.hz.array02;

import java.util.Scanner;

/**
 * 1、输入10个整数存入数组,求最大值和最小值
 * @author ztw
 *
 */
public class Practice01 {

public static void main(String[] args) {
    int[] arr = new int[10];
    Scanner sc = new Scanner(System.in);
    //循环输入10个整数存入数组
    for(int i=0;i<arr.length;i++){
        System.out.println("输入"+(i+1)+"个整数:");
        arr[i]=sc.nextInt();
    }
    int max=arr[0],min=arr[0];//初始arr[0]为最大值,和最小值
    //遍历比较大小
    for(int j=0;j<arr.length;j++){
        if(max<arr[j]){
            max=arr[j];
        }
        if(min>arr[j]){
            min=arr[j];
        }
    }
    System.out.println("最大值:"+max+" 最小值:"+min);
}
}

4、输入10个整数存入数组,然后采冒泡排序后将其输出

package com.hz.array02;

import java.util.Scanner;

/**
 * 4、输入10个整数存入数组,然后采冒泡排序后将其输出
 * @author ztw
 *
 */
public class Practice04 {

public static void main(String[] args) {
    int[] arr = new int[10];
    Scanner sc = new Scanner(System.in);
    //循环输入10个整数存入数组
    for(int i=0;i<arr.length;i++){
        System.out.println("输入"+(i+1)+"个整数:");
        arr[i]=sc.nextInt();
    }
    //定义外循环
    for(int j=0;j<arr.length;j++){
        //定义内循环
        for(int k=0;k<arr.length-j-1;k++){
            if(arr[k]>arr[k+1]){//比较相邻的元素
                /*
                 *用于交换两个元素
                 */
                int temp = arr[k];
                arr[k] = arr[k+1];
                arr[k+1] = temp;
            }
        }
    }
    System.out.println("冒泡排序后:");
    //循环遍历数组
    for(int i=0;i<arr.length;i++){
        System.out.print(arr[i]+" ");
    }
    System.out.print("\n");
}
}

5、已知数组 int[] a={1,2,3,5,6,7,8,9,0},int ren=4;将ren插入a中,但a必须有序

package com.hz.array02;

/**
 * 5、已知数组
 * int[] a={1,2,3,5,6,7,8,9,0},int ren=4;
 * 将ren插入a中,但a必须有序
 * @author ztw
 *
 */
public class Practice05 {

public static void main(String[] args) {
    int ren=4;
    int[] a={1,2,3,5,6,7,8,9,0,ren};
    insertSort(a);
    for(int i=0;i<a.length;i++){
        System.out.println(a[i]);
    }
}
//插入排序算法
public static int[] insertSort(int[] a){
    for(int i=1;i<a.length;i++){
        for(int j=i;j>0;j--){
            if(a[j]<a[j-1]){
                int temp=a[j-1];
                a[j-1] = a[j];
                a[j] = temp;
            }else break;

        }
    }
    return a;

}
}

6、已知数组 int[] a={10,20,30,40,50,60};使用交换反序使数组变成a={60,50,40,30,20,10}

package com.hz.array02;

import java.util.Arrays;

/**
 * 6、已知数组
 *  int[] a={10,20,30,40,50,60};
 *  使用交换反序使数组变成a={60,50,40,30,20,10}
 * @author ztw
 *
 */
public class Practice06 {

public static void main(String[] args) {
    shengxu();
    System.out.print("\n");
    jiangxu();
}
//升序
public static void shengxu(){

    int[] a={60,50,40,30,20,10};
    //利用Arrays带有的排序方法快速排序
    Arrays.sort(a);//进行排序
    for(int i:a){
        System.out.print(i+" ");
    }

}
//降序
public static void jiangxu(){
    int[] a={10,20,30,40,50,60};
    //利用Arrays带有的排序方法快速排序
    Arrays.sort(a);//进行排序
    for(int i=a.length-1;i>=0;i--){
        System.out.print(a[i]+" ");
    }
}
}

11、定义一个长度为10的整型数组,循环输入10个整数。然后判断这个数组中有几个偶数,再定义一个正好能存放这几个偶数的数组,将上一个数组中的所有偶数复制过来。最后循环输出这些偶数。

 package com.hz.array02;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 11、定义一个长度为10的整型数组,循环输入10个整数。
 * 然后判断这个数组中有几个偶数,再定义一个正好能存放这几个偶数的数组,
 * 将上一个数组中的所有偶数复制过来。最后循环输出这些偶数。
 * @author ztw
 *
 */
public class Practice11 {

public static void main(String[] args) {
    int[] arr = new int[10];
    int[] arr2 = new int[10];
    Scanner sc = new Scanner(System.in);
    //循环输入10个整数存入数组
    for(int i=0;i<arr.length;i++){
        System.out.println("输入"+(i+1)+"个整数:");
        arr[i]=sc.nextInt();
        //判断输入的数是否为偶数
        if(arr[i]%2==0){
            arr2[i]=arr[i];
        }

    }
    //升序排序遍历数组arr2
    Arrays.sort(arr2);
    for(int i:arr2){
        if(i!=0){
        System.out.print(i+" ");
        }
    }
    //遍历数组arr2
//      for(int k=0;k<arr2.length;k++){
//          System.out.print(arr2[k]+" ");
//      }
}
}

12、输入一个数组,使用选择排序输出

package com.hz.array02;

import java.util.Scanner;

/**
 * 12、输入一个数组,使用选择排序输出
 * @author ztw
 *
 */
public class Practice12 {

public static void main(String[] args) {
    int[] arr = new int[10];
    Scanner sc = new Scanner(System.in);
    //循环输入10个整数存入数组
    for(int i=0;i<arr.length;i++){
        System.out.println("输入"+(i+1)+"个整数:");
        arr[i]=sc.nextInt();
    }
    selectSort(arr);
    System.out.println("选择排序后:");
    //循环遍历数组
    for(int i=0;i<arr.length;i++){
        System.out.print(arr[i]+" ");
    }
    System.out.print("\n");
}
//选择排序算法
public static int[] selectSort(int[] arr){
    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;
        }
    }
    return arr;

}
}

13、输入一个数组,使用冒泡排序输出

package com.hz.array02;

import java.util.Scanner;

/**
 * 13、输入一个数组,使用冒泡排序输出
 * @author ztw
 *
 */
public class Practice13 {

public static void main(String[] args) {
    int[] arr = new int[10];
    Scanner sc = new Scanner(System.in);
    //循环输入10个整数存入数组
    for(int i=0;i<arr.length;i++){
        System.out.println("输入"+(i+1)+"个整数:");
        arr[i]=sc.nextInt();
    }
    bubbleSort(arr);
    System.out.println("冒泡排序后:");
    //循环遍历数组
    for(int i=0;i<arr.length;i++){
        System.out.print(arr[i]+" ");
    }
    System.out.print("\n");
}
//冒泡排序算法
public static int[] bubbleSort(int[] arr){
    //定义外循环
    for(int i=0;i<arr.length;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;
            }
        }
    }
    return arr;

}
}
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页