Java第八周作业

1、编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。(知识点:数组定义和创建、一维数组初始化)[必做题]•

import java.util.Scanner;


public class 数组1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int []a=new int[5];
        Scanner input=new Scanner(System.in);
        for (int i = 0; i < a.length; i++) {
            a[i]=input.nextInt();
        }
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }

    }

}


2、将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。(知识点:数组复制) [必做题]•

public class 拷贝 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        char a[]={'n','e','u','s','o','f','t','e','d','u','c','a','t','i','o','n'};
        char b[]=new char[a.length];
        System.arraycopy(a, 0, b, 0, a.length);
        System.out.println("拷贝前:"+'n'+'e'+'u'+'s'+'o'+'f'+'t'+'e'+'d'+'u'+'c'+'a'+'t'+'i'+'o'+'n');
        System.out.println("拷贝后:");
        for (char c : b) {
            System.out.print(c);
        }
    }

}


3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。(知识点:Arrays.sort排序、冒泡排序)

Arrays.sort排序:

import java.util.Arrays;


public class 排序后输出 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int []a={1,6,2,3,9,4,5,7,8};
        Arrays.sort(a);
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }

}

冒泡排序:

public class 排序后输出 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int []a={1,6,2,3,9,4,5,7,8};
        for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j < a.length-1-i; j++) {
                if(a[j]>a[j+1]){
                    int temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
        }
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }

}


4、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。(知识点:数组定义和创建、多维数组初始化、数组遍历)

public class double二维数组 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double [][]a=new double[5][4];
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                a[i][j]=j;
                System.out.print(a[i][j]+" ");
            }System.out.println();
        }
    }

}


5、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。(知识点:数组遍历、数组元素访问) [必做题]•

public class 找出最大数和下标 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int []a={18,25,7,36,13,2,89,63};
        int max=a[0];
        int b=-1;
        for (int i = 0; i < a.length; i++) {
            if(a[i]>max){
                max=a[i];
            }
            b++;
        }
        System.out.println("最大值是"+max);
        System.out.println("下标为"+b);
    }

}


作业
6、将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问) [选作题]•

public class 元素逆序存放 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] a=new int[]{1,2,3,4,5};
        System.out.println("原数为:");
        System.out.println("12345");
        System.out.println("逆序输出为");
        for (int i = a.length-1;i>=0; i--) {
            System.out.print(a[i]);
        }
    }

}


7. 将一个数组中的重复元素保留一个其他的清零。(知识点:数组遍历、数组元素访问) [选作题]课后作业•

public class 留一个重复元素 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] a=new int[]{1,5,7,13,15,7,20};
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length; j++) {
                if (a[i]==a[j] && i!=j) {
                    a[j]=0;
                }
            }
        }
        for (int i : a) {
            System.out.println(i);
        }
    }

}


8、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。(知识点:数组遍历、数组元素访问)

public class 计算数值 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] a = { -10, 2, 3, 246, -100, 0, 5 };
        double mean=0;
        int max=a[0],min=a[0];
        for (int i = 0; i < a.length; i++) {
            if (max<a[i]) {
                max=a[i];
            }if (min>a[i]) {
                min=a[i];
            }mean+=a[i];
        }
        System.out.println("平均值是:"+(mean/7));
        System.out.println("最大值是:"+max);
        System.out.println("最小值是:"+min);
    }

}

9、使用数组存放裴波那契数列的前20项 ,并输出

public class 裴波那切数列 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] a=new int[20];
        a[0]=1;
        a[1]=1;
        for (int i = 2; i < a.length; i++) {
            a[i]=a[i-2]+a[i-1];
        }
        for (int i = 0; i < 8; i++) {
            System.out.println(a[i]);
        }
    }

}


10、生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出

import java.util.Arrays;
import java.util.Random;


public class 随机排序 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random r=new Random();
        int[] a=new int[10];
        for (int i = 0; i < a.length; i++) {
            a[i]=r.nextInt(101);
            System.out.print(a[i]+"  ");
        }
        System.out.println("排序后为:");
        Arrays.sort(a);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+"  ");
        }
    }

}

posted @ 2021-04-27 16:55  柳云倩  阅读(39)  评论(0编辑  收藏  举报