第六次上机作业

1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值。
     public class work {
     public static void main(String[] args) {
         int i[] = new int[] { 10, 20, 30, 40, 50 };
        for (int j = 0; j < 5; j++) {
        System.out.print(i[j]+" ");
        }
     }
}
2.编写一个简单程序。要求数组长度为5,动态赋值10,20,30,40,50,在控制台输出该数组的值。
public class work {
     public static void main(String[] args) {
         int i[] = new int[5] ;
         i[0]=10;
         i[1]=20;
         i[2]=30;
         i[3]=40;
         i[4]=50;
        for (int j = 0; j < 5; j++) {
        System.out.print(i[j]+" ");
        }
     }
}
3.编写一个简单程序,定义整型数组,里面的元素是{23,45,22,33,56},求数组元素的和、平均值
package javazuoye;
public class Lianxitimu {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
          int[] a= {23,45,22,33,56};
          int sum=0;
          for(int i=0;i<a.length;i++)
          {
              sum+=a[i];
          }
          int ave=sum/5;
          System.out.println("数组元素的和为"+sum);
          System.out.println("数组的平均值为"+ave);
  }
}
4.在一个有八个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
package javazuoye;
public class Lianxitimu {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
          int[] a= {18,25,7,36,13,2,89,63};
          int x=0;
          int z=0;
          for(int i=0;i<a.length;i++)
          {
              if(a[i]>x)
              {
                  x=a[i];
                  z=i;
              }
          }
          System.out.println("数组最大的值为"+x); 
          System.out.println("最大数组的下标为"+z);
  }
}
5.将一个数组中的元素逆序存放(知识点:数组遍历,数组元素访问)。
public class work {
     public static void main(String[] args) {
         int [] a = new int [] {4,1,3,5,9,2,1};
            int t;
            for(int i = 0; i < a.length / 2; i ++) {
                t = a[i];
                a[i] = a[a.length - 1 - i];
                a[a.length - 1 - i] = t;
            }
            for(int i = 0; i < a.length; i ++) {
                System.out.print(a[i] + ", ");
            }
     }
 }
6.有一个已经排好序的数组,现输入一个数,要求按原来的规律将它插入数组中。
package javazuoye;
import java.util.Scanner;
public class Lianxitimu {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        
        int[] a = { 18,25,7,36,13,2,89,63 };
        System.out.println("原数组的各个元素为:");
        for (int j = 0; j < a.length; j++) {
            System.out.print(a[j] + "\t");
            if (j == a.length - 1) {
                System.out.println();
            }
        }
        System.out.println("请输入要插入的数:");
        int num = 0;
        Scanner s = new Scanner(System.in);
        num = s.nextInt();
 
        int[] b = new int[a.length + 1];
        if (num <= a[0]) {
            b[0] = num;
            for (int j = 1; j < b.length; j++) {
                b[j] = a[j - 1];
            }
        } else if (num >= a[a.length - 1]) {
            b[b.length - 1] = num;
            for (int j = 0; j < b.length - 1; j++) {
                b[j] = a[j];
            }
        } else {
            for (int j = 0; j < a.length - 1; j++) {
                if (num >= a[j] && num < a[j + 1]) {
                    for (int k = 0; k <= j; k++) {
                        b[k] = a[k];
                    }
                    b[j + 1] = num;
                    for (int m = j + 2; m < b.length; m++) {
                        b[m] = a[m - 1];
                    }
                }
            }
        }
 
        System.out.println("现在数组各个元素为:");
        for (int i = 0; i < b.length; i++) {
            System.out.print(b[i] + "\t");

              }
      }
  }

  

posted @ 2020-04-09 11:52  TIANM  阅读(102)  评论(1编辑  收藏  举报