8

上机练习::

1 编写一个简单程序,要求数组长度为5,分别赋值1020304050,在控制台输出该数组的值。

 

 package zjh.sjlx;
import java.util.Scanner;
public class sjlx1 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。
       int []a={10,20,30,40,50} ;
       for (int i = 0; i < a.length; i++) {
        System.out.println(" "+a[i]);
    }     
    }
}

 

2  将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。

 

package zjh.sjlx;
public class sjlx2 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。
        char []a={'c','h','i','n','a'};
        char []b=new char[a.length];
        for (int i = 0; i < a.length; i++) {

            System.arraycopy(a, 0, b, 0, a.length);
        System.out.print(" "+b[i]);
        }
    }
}

 

3  给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。

 

package zjh.sjlx;
public class sjlx3 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 3、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
        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 x=a[j];
                    a[j]=a[j+1];
                    a[j+1]=x;}
                }
            }
    for(int i:a){
            System.out.println(i);
    }
    }
}

 

输出一个double型二维数组(长度分别为54,值自己设定)的值。

 

package zjh.sjlx;
public class sjlx4 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
        double [][]a={{1,2,3,4},{5,4,9,6},{4,6,5,2},{6,3,5,2},{5,2,1,3}};
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length-1; j++) {
                System.out.println(" "+a[i][j]);
            }
        }
    }
}

 

5. 在一个有8个整数(18257361328963)的数组中找出其中最大的数及其下标。

 package zjh.sjlx;
public class sjlx5 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
         int []a={18,25,7,36,13,2,89,63};
         int max=a[0];
         int maxidx=0;
         for (int i = 0; i < a.length; i++) {
            if (max<a[i]) {
                max=a[i];
                maxidx=i;
            }
        }System.out.println("最大的数为:"+max+"\n它的下标为:"+maxidx);
         }
}

课后作业:

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

package zjh.khzy;
import java.util.Scanner;
public class khzy1 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)
Scanner input=new Scanner(System.in);
System.out.println("请输入数组的长度");
int x=input.nextInt();
System.out.println("请输入数组元素");
        int a[]=new int[x];
        for (int i = 0; i < a.length; i++) {
            a[i]=input.nextInt();
        }
        int b;
        for (int i = 0; i < (a.length)/2; i++) {
            b=a[i];
            a[i]=a[a.length-i-1];
            a[a.length-i-1]=b;
        }
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+" ");
        }
    }
}

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

 

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

 

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

package zjh.khzy;
public class khzy3 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 给定一维数组{ -10,2,3,246,-100,0,5},
        //计算出数组中的平均值、最大值、最小值。(知识点:数组遍历、数组元素访问)
int a[]=new int[]{-10,2,3,246,-100,0,5};
int sum=0,average=0,max=a[0],min=a[0];
for (int i = 0; i < a.length-1; i++) {
    sum+=a[i];
}
average=sum/a.length;
int x;
for (int i = 1; i < a.length; i++) {
    if (max<a[i]) {
        x=a[i];
        a[i]=max;
        max=x;
    }
    if (min>a[i]) {
        x=a[i];
        a[i]=min;
        min=x;
    }
}System.out.println("数组中最大值为:"+max+" 数组中最小值为:"+min+" 数组平均值为"+average);
    }
}

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

package zjh.khzy;
public class khzy4 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 9、使用数组存放裴波那契数列的前20项 ,并输出 1 1 2 3 5 8 13 21
        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.print(a[i]+",");
        }
    }
}

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

 

package zjh.khzy;
import java.util.Random;
public class khzy5 {
    /**
     * @param args
     */
    /**
     * @param args
     */
    public static void main(String[] args) {
        // 生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出
Random a=new Random();
int b[]=new int[10];
for (int i = 0; i < b.length; i++) {
    int c=a.nextInt(101);
    b[i]=c;
}
System.out.print("随机数组为:");
for (int i = 0; i < b.length; i++) {
    System.out.print(b[i]+" ");
}
for (int i = 0; i < b.length-1; i++) {
    for (int j = 0; j < b.length-i-1; j++) {
        if (b[i]>b[j]) {
            int x;
            x=b[i];
            b[i]=b[j];
            b[j]=x;
        }
    }
}
System.out.print("\n排序后为:");
for (int i = 0; i < b.length; i++) {
    System.out.print(b[i]+" ");
}
    }
}

 

 

posted @ 2021-04-27 12:41  赵佳慧  阅读(71)  评论(0编辑  收藏  举报