第八周上机练习+作业

上机练习

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

package Class;

public class Class1 {

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

}

 

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

package Class;

public class Class1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
             String a[] = new String[]{"n","a"};
            String b[] = new String[]{"c","h","i", "", ""};
            System.arraycopy(a, 0, b, 3, 2);
            for (int i = 0; i < b.length; i++) {
                System.out.println(b[i]);
            }
    }

}

 

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

package Class;

public class Class1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
            int a[] = new int []{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 c;
                        c = a[j];
                        a[j] = a[j+1];
                        a[j+1] = c;
                    }
                }
            }
            for (int i = 0; i < a.length; i++) {
                System.out.println(a[i]);
            }
    }

}

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

package Class;

public class Class1 {

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

}

 

5、 在一个有8个整数(18257361328963)的数组中找出其中最大的数及其下标。(知识点:数组遍历、数组元素访问) [必做题]?

package Class;

public class Class1 {

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

}

作业

1、 将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)

package Class;

public class Class1 {

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

    }

}

2. 将一个数组中的重复元素保留一个其他的清零。(知识点:数组遍历、数组元素访问) 

package Class;

public class Class1 {

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

    }

}

 

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

package Class;

public class Class1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
           int a[] = new int []{ -10,2,3,246,-100,0,5};
           int sum = 0;
           int pingjun = 0;
           int max = a[0];
           int min = a[0];
           for (int i = 0; i < a.length-1; i++) {
                sum = sum+a[i];
            }
           pingjun = sum/a.length;
           for (int i = 1; i < a.length; i++) {
               if (max<a[i]) {
                   int c = 0;
                   c = a[i];
                   a[i] = max;
                   max = c;
               }
           }
           for (int i = 1; i < a.length; i++) {
               if (min>a[i]) {
                   int c = 0;
                   c = a[i];
                   a[i] = min;
                   min = c;
               }
           }
          
                System.out.println("数组中的最大值为:"+max+"数组中最小值为:"+min+"数组中平均值为:"+pingjun);
            

    }

}

 

3.使用数组存放裴波那契数列的前20项 ,并输出 1 1 2 3 5 8 13 21

package Class;

public class Class1 {

    /**
     * @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-1]+a[i-2];
        }
           for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }

}

 

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

package Class;

import java.util.Random;

public class Class1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random b = new Random();
           int a[] = new int [10];
          for (int i = 0; i < a.length; i++) {
             int c = b.nextInt(101);
             a[i] = c;
        }
         for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j < a.length-1-i; j++) {
                if (a[i]>a[j]) {
                    int d = 0;
                    d = a[i];
                    a[i] = a[j];
                    a[j] = d;
                }
            }
        }
         for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }

 

 

 

 

 

 

 

 

 

posted @ 2021-04-26 16:19  TS花间酒  阅读(66)  评论(0)    收藏  举报