java第六次作业

发布时间 2023-05-31 22:14:15作者: 王师蕴
1、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
package www;

import java.util.Arrays;

public class Wyy {

    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:a) {
            System.out.println(i);
        }
    }
}

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

package www;

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

public class Wyy {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        double [][]arr=new double[5][4];
        for(int i=0;i<20;i++){
            arr[i/4][i%4]=i;
        }
        for(int j=0;j<arr.length;j++){
            for(int k=0;k<arr[j].length;k++){
                
                System.out.print(arr[j][k]+"\t");
            }
            System.out.println();
        }
    }

}

 3、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。

package www;

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

public class Wyy {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        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(a[i]>max) {
                max=a[i];
                maxidx=i;
            }
        }
        System.out.println("数组最大值为"+max+"下标为"+maxidx);
    }

}

 4、将一个数组中的元素逆序存放

package www;

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

public class Wyy {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        int []a={10,20,50,30,20,70};
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
        System.out.println();
        System.out.println("倒叙输出");
        for(int j=a.length-1;j>=0;j--){
            System.out.print(a[j]+" ");
        }

        
    }

}

 5. 将一个数组中的重复元素保留一个其他的清零。

package www;

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

public class Wyy {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        System.out.println("请输入数组个数");
        int a = input.nextInt();
        int[] b = new int[a];
        for (int c = 0; c < a; c++) {
            System.out.println("请输入第" + (c + 1) + "个数");
            b[c] = input.nextInt();
        }
        for (int d = 0; d < a; d++) {
            for (int e = 0; e < d; e++) {
                if (b[e] == b[d])
                    b[d] = 0;
            }
        }
        System.out.println("结果为");
        for (int f : b) {
            System.out.print(f);
        }


        
    }

}

 6、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。

package www;

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

public class Wyy {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        int[]a= {-10,2,3,246,-100,0,5};
        int temp=0;
        for(int i=0;i<a.length-1;i++) {
            if(a[i+1]<a[i]) {
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
        System.out.println("最大值"+a[a.length-1]);
        for(int i=0;i<a.length-1;i++) {
            if(a[i+1]>a[i]) {
                temp=a[i+1];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
        System.out.println("最小值"+a[a.length-1]);
        int sum=0;
        for(int i=0;i<a.length;i++) {
            sum=sum+a[i];
        }
        System.out.println("平均值"+sum/a.length);
    }

}

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

package www;

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

public class Wyy {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        int num[]=new int[20];
        num[0]=1;
        num[1]=1;
        System.out.println("斐波那契数列前20项的值如下:");
        System.out.println(num[0]+""+num[1]+"");
        for(int i=2;i<20;i++) {
            num[i]=num[i-1]+num[i-2];
            System.out.println(num[i]+"");
        }
    }

}

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

package www;

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

public class Wyy {

    public static void main(String[] args) {
        Scanner input= new Scanner(System.in);
        int temp=0;
         int[] a = new int[10];
         for (int i = 0; i < 10; i++) {
             a[i] = input.nextInt();
             }
         for (int i = 0; i < 10; i++) {
             for (int j = i + 1; j < 10; j++) {
                 if (a[i] > a[j]) {
                     temp = a[i];
                     a[i] = a[j];
                     a[j] = temp;
                     }
                 }
             }
         for (int i = 0; i < 10; i++) {
             System.out.print(a[i] + " ");
             }
         }
    }