我是靠谱客的博主 清新朋友,最近开发中收集的这篇文章主要介绍JAVA——实现数组遍历求最大值和第二大值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目:

定义长度为10的int数组,数组中的10个元素为随机生成的1-100的数字,要求:打印数组中第二大的数和第二小的数字
    打印格式:
    原数组内容
    90 34 12 35 98 23 17 71 4 66 
    数组中的第二大的数字为:90
    数组中的第二小的数字为:12
        
    3 2 1 1 4
    
    最大值为: 4
    最小值为: 1
    
    求第二大值 : 
    
    数组中的第二大的数字为:3
    数组中的第二小的数字为:2

代码如下:

public class Test7 {
	public static void main(String[] args) {

		int[] arr = new int[10];

		Random r = new Random();

		// 采用随机数给数组的每一个元素赋值
		for (int i = 0; i < arr.length; i++) {
			arr[i] = r.nextInt(100) + 1;
		}

		// 数组的遍历
		System.out.print("[");
		for (int i = 0; i < arr.length; i++) {
			if (i == arr.length - 1) {
				System.out.println(arr[i] + "]");
			} else {
				System.out.print(arr[i] + ", ");
			}
		}

		// 求数组的最大值
		int max = arr[0];

		// 求数组的最小值
		int min = arr[0];

		for (int i = 1; i < arr.length; i++) {
			if (arr[i] > max) {
				max = arr[i];
			}
			if (arr[i] < min) {
				min = arr[i];
			}
		}

		System.out.println("数组的最大值为:" + max);
		System.out.println("数组的最小值为:" + min);

		// 定义参照物
		// 90 34 12 35 98 23 17 71 4 66     
		// 第二大的元素
		int max1 = min;  //4
		// 第二小的元素
		int min1 = max;  //98

		for (int i = 0; i < arr.length; i++) {
			if (arr[i] > max1 && arr[i] != max) {
				max1 = arr[i];
			}

			if (arr[i] < min1 && arr[i] != min) {
				min1 = arr[i];
			}
		}

		System.out.println("数组中第二大的元素为:" + max1);
		System.out.println("数组中第二小的元素为:" + min1);

	}

	private static void method1() {
		int[] arr = new int[10];

		Random r = new Random();

		// 给数组的元素赋值, 并保证元素唯一
		for (int i = 0; i < arr.length; i++) {// i = 3
			arr[i] = r.nextInt(100) + 1;
			for (int x = 0; x < i; x++) {
				if (arr[i] == arr[x]) {
					i--;
				}
			}
		}

		// 冒泡排序
		for (int x = 0; x < arr.length - 1; x++) {
			for (int y = 0; y < arr.length - 1 - x; y++) {
				if (arr[y] > arr[y + 1]) {
					int temp = arr[y];
					arr[y] = arr[y + 1];
					arr[y + 1] = temp;
				}
			}
		}

		// 数组的遍历
		System.out.print("[");
		for (int i = 0; i < arr.length; i++) {
			if (i == arr.length - 1) {
				System.out.println(arr[i] + "]");
			} else {
				System.out.print(arr[i] + ", ");
			}
		}

		System.out.println("数组的第二小的元素为:" + arr[1]);
		System.out.println("数组的第二大的元素为:" + arr[arr.length - 2]);
	}

}

输出结果如下:

[69, 93, 49, 62, 91, 66, 84, 89, 82, 95]
数组的最大值为:95
数组的最小值为:49
数组中第二大的元素为:93
数组中第二小的元素为:62

 

最后

以上就是清新朋友为你收集整理的JAVA——实现数组遍历求最大值和第二大值的全部内容,希望文章能够帮你解决JAVA——实现数组遍历求最大值和第二大值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部