Java学习,产生 10 个 100 以内的随机整数以填充一维数组,实现以下功能

  • Post author:
  • Post category:java
.
产生
10

100
以内的随机整数以填充一维数组,实现以下功能。
① 找出最大以及最小值。
② 查找给定整数
a
在数组中最后一次出现的位置,若不存在则提示。
③ 判断数组是否呈非递减排列。
④ 将数组元素翻转存放。
package exp4;
import java.util.Random;
import java.util.Scanner;
public class Exp4_1 {
 

int[] init() {  //产生 10 个 100 以内的随机整数
 int[] a = new int[10];
 Random r = new Random();//创建随机数生成器对象
 for (int i = 0; i < a.length; i++) {
     a[i] = r.nextInt(100);   //产生0——99的随机整数,给每个数组元素赋值
     }
     return a;
 }


 void print(int[] a) {    //打印数组
     for (int i = 0; i < a.length; i++) {
         System.out.printf("%-5d", a[i]);
         }
         System.out.println();
     }


 int findMax(int[] a) {    //找最大值
     int max = a[0];
     for (int i = 1; i < a.length; i++) {
         if (max < a[i]) {
             max = a[i];
         }
     }
     return max;
     }


int findMin(int[] a) {    //找最小值
     int min = a[0];
     for (int i = 1; i < a.length; i++) {
         if (min > a[i]) {
         min = a[i];
         }
     }
 return min;
 }


 int findLastLocation(int[] a, int x) {        //查找给定整数 a 在数组中最后一次出现的位置
     for (int i = a.length - 1; i >= 0; i--) {
         if (a[i] == x) {
         return i;
         }
     }
 return -1;   //如果a在数组中不存在,返回-1
 }


 boolean isAsc(int[] a) {           //判断数组是否呈非递减排列
     for (int i = 0; i < a.length - 1; i++) {
         if (a[i] > a[i + 1]) {
             return false;
         }
     }
     return true;
 }


 void reverse(int[] a) {      // 将数组元素翻转存放
     for (int i = 0; i < a.length / 2; i++) {
         int temp = a[i];
         a[i] = a[a.length - i - 1];
         a[a.length - i - 1] = temp;
     }
 }


 public static void main(String[] args) {
     Exp4_1 t = new Exp4_1();
     int[] a = t.init();
     t.print(a);

     System.out.println("max=" + t.findMax(a));
     System.out.println("min=" + t.findMin(a));
     System.out.print("输入要查找的数:");
     Scanner s = new Scanner(System.in);
     int x = s.nextInt();
     int i = t.findLastLocation(a, x);
     if (i == -1) {
         System.out.println(x + " 在数组中不存在。");
     } 
     else {
         System.out.printf("%d 最后出现的位置: %d。\n", x, i);
     }
     if (t.isAsc(a)) {
         System.out.println("数组是非递减排列!");
     } 
     else {
         System.out.println("数组不是非递减排列!");
     }

     t.reverse(a);
     System.out.println("翻转后的数组:");
     t.print(a);
   }
}

运行结果


版权声明:本文为Dream_begin_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。