第六次Java作业

 

1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值。
package snippet;
import java.util.*;
public class text {
     public static void main(String[] args) {
         int[] app = {10,20,30,40,50};
            for(int i=0;i<5;i++) {
                System.out.println(app[i]);
            }
        }
    }
2.编写一个简单程序,要求数组长度为5,动态赋值10,20,30,40,50,在控制台输出该数组的值。
package snippet;
import java.util.*;
public class text {
     public static void main(String[] args) {
         Scanner input=new Scanner(System.in);
            int[] app = new int[5];
            app[0]=10;
            System.out.println(app[0]);
            for(int i=1;i<5;i++) {
                app[i]+=app[i-1]+10;
                System.out.println(app[i]);
            }
        }
    }

 


3.编写一个简单程序,定义整型数组,里面的元素是{23,45,22,33,56},求数组元素的和、平均值
package snippet;
import java.util.*;
public class text {
     public static void main(String[] args) {
         int[] app= {23,45,22,33,56};
            int sum=0,i;
            float pj;
            for(i=0;i<5;i++) {
                sum+=app[i];
            }
            pj=sum/5;
            System.out.println("这个数组的和是"+sum);
            System.out.println("这个数组的平均值是"+pj);
        }
    }

 


4.在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
package snippet;
import java.util.*;
public class text {
     public static void main(String[] args) {
         int[] app = {18,25,7,36,13,2,89,63};
            int max=app[0],n=0;
            for(int i=1;i<8;i++) {
                if(app[i]>max) {
                    max=app[i];
                    n=i;
                }
            }
            System.out.println("最大数是"+max+"他的下标是"+n);
                
        }
    }

 

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

 

6、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。(附加题)
import java.util.Arrays;
import java.util.Scanner;
public class text{
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };// 定义一个升序排序数组
        //int[] array = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };// 定义一个降序排序数组
        System.out.print("定义的数组为:");
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i] + " ");
        }
        System.out.println();
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int addNumber = sc.nextInt();
        array = Arrays.copyOf(array, array.length + 1);// 数组扩容
        array[array.length - 1] = addNumber; 
        int i = 0;
        //当定义的数组为升序的时候
        if (array[i] <= array[array.length - 2]) {
            Arrays.sort(array);// 再次排序
            System.out.print("插入一个数后的数组为:");
            for (i = 0; i < array.length; i++) {
                System.out.print(array[i] + " ");
            }
        } else {//当定义的数组为降序的时候,数组进行倒序输出
            Arrays.sort(array);// 再次排序
            System.out.print("插入一个数后的数组为:");
            for (i = array.length - 1; i >= 0; i--) {
                System.out.print(array[i] + " ");
            }
        }
    }
}

 

posted @ 2020-04-09 12:05  Ambtion  阅读(162)  评论(1编辑  收藏  举报