. 产生 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); } }
运行结果

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信