JAVA得到数组中最大值和最小值的简单实例

当我们需要在一个数组中寻找最大值或最小值时,我们可以采用循环遍历数组的方式,比较每一个元素和当前最大或最小值的大小,然后更新最大或最小值。以下是用JAVA实现这个过程的简单实例。

准备工作

首先,我们需要准备一个需要查找的数组。我们可以在代码中手动定义一个数组,例如:

int[] myArray = {5, 12, 8, 19, 3, 16};

或者,也可以通过用户输入方式获得一个数组。示例代码如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入数组长度: ");
        int length = scanner.nextInt();
        int[] myArray = new int[length];
        System.out.println("请输入数组元素: ");
        for (int i = 0; i < length; i++) {
            myArray[i] = scanner.nextInt();
        }
        scanner.close();
    }
}

获取数组的最大值和最小值

接下来,我们需要编写一个方法,这个方法可以接收一个数组作为参数,然后返回这个数组的最大值和最小值。示例代码如下:

public class Main {
    public static void main(String[] args) {
        int[] myArray = {5, 12, 8, 19, 3, 16};
        int[] result = getMinMax(myArray);
        System.out.println("最小值为:" + result[0]);
        System.out.println("最大值为:" + result[1]);
    }

    public static int[] getMinMax(int[] array) {
        int min = array[0];
        int max = array[0];
        for (int i = 1; i < array.length; i++) {
            if (array[i] < min) {
                min = array[i];
            }
            if (array[i] > max) {
                max = array[i];
            }
        }
        int[] result = {min, max};
        return result;
    }
}

上述代码中,我们首先定义了一个整型数组 result 用来存储最小值和最大值,然后在 getMinMax 方法中定义了两个变量 minmax,将数组的第一个元素赋值给它们。接着通过循环遍历整个数组,比较每个元素和 minmax 的值,如果当前值小于 min,则更新 min 的值;如果当前值大于 max,则更新 max 的值。最后,将最小值和最大值存储在 result 数组中并返回。

示例说明

示例一

getMinMax 方法中可以采用其他方式实现获取最大值和最小值,例如使用 JDK 自带工具类中的 Arrays 类。示例如下:

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] myArray = {5, 12, 8, 19, 3, 16};
        int[] result = getMinMax(myArray);
        System.out.println("最小值为:" + result[0]);
        System.out.println("最大值为:" + result[1]);
    }

    public static int[] getMinMax(int[] array) {
        Arrays.sort(array);
        int[] result = {array[0], array[array.length - 1]};
        return result;
    }
}

示例二

在获取最大值和最小值的过程中,我们还可以加入一些其他的条件判断。例如,如果数组长度为 0 时,直接返回 null。同时,我们也可以使用 Java 8 中提供的流式编程方式获取最大值和最小值。示例如下:

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] myArray = {5, 12, 8, 19, 3, 16};
        int[] result = getMinMax(myArray);
        System.out.println("最小值为:" + result[0]);
        System.out.println("最大值为:" + result[1]);
    }

    public static int[] getMinMax(int[] array) {
        if (array.length == 0) {
            return null;
        }
        int min = Arrays.stream(array).min().getAsInt();
        int max = Arrays.stream(array).max().getAsInt();
        int[] result = {min, max};
        return result;
    }
}

上述代码中,在 getMinMax 方法中我们首先判断了数组长度是否为 0,如果是,则直接返回 null。接着,我们使用 Arrays.stream 方法将数组转换成一个流,并调用 minmax 方法获取最小值和最大值。最后,将最小值和最大值存储在 result 数组中并返回。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA得到数组中最大值和最小值的简单实例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Java线程池的作用是什么?

    “Java线程池的作用是什么?”是一个常见的问题,对于Java程序员而言,使用线程池可以提高程序的性能和响应速度,这是一个必备技能。本文将为你详细讲解Java线程池的作用和使用攻略。 Java线程池的作用 Java线程池的作用包括如下几点: 减少线程创建和销毁的开销 我们都知道,线程的创建和销毁是非常消耗资源的过程。如果我们每次需要处理任务时都新建一个线程来…

    Java 2023年5月11日
    00
  • C++异常处理 try,catch,throw,finally的用法

    C++异常处理 try,catch,throw,finally的用法 在C++中,异常处理机制是一种用于处理程序运行时出现错误的机制。当程序发生错误时,通常会中断其继续执行。异常处理机制能够使程序有机会处理这些错误,并继续执行而不崩溃。 try-catch块 在C++中,异常处理块包括try-catch块和finally块。try-catch块是一个用来捕捉…

    Java 2023年5月26日
    00
  • Apache httpd 入门实战(2)–简单使用

    本文主要介绍 Apache 的实际使用,文中所使用到的软件版本:Centos 7.9.2009、Httpd 2.4.55。 1、反向代理 涉及到 Https 站点时,安装 Apache 时需要启用 ssl,可参考 Apache httpd 入门实战(1)–概念及安装。 1.1、被代理站点为 Http 站点 打开 conf/httpd.conf 文件,修改或…

    Java 2023年4月17日
    00
  • 全面解析Spring Security 过滤器链的机制和特性

    全面解析Spring Security 过滤器链的机制和特性 什么是Spring Security过滤器链? Spring Security过滤器链是Spring Security处理HTTP请求的核心组件之一。在Spring Security框架中,每一个安全的URL请求都需要通过一系列的过滤器组成的过滤器链来进行权限的校验和身份认证,该过滤器链是有顺序的…

    Java 2023年5月20日
    00
  • Java Swing实现扫雷源码

    首先,我们需要了解“Java Swing”和“扫雷”这两个概念。Java Swing是Java领域中的一套GUI开发框架,提供了一整套图形界面组件,可以简化我们GUI开发的过程。而扫雷则是一款经典的PC游戏,玩家需要在一个方块矩阵中找出所有不含地雷的方块,同时避免点中任意一个地雷。 一、GUI设计与布局 实现扫雷游戏需要布局一个二维的方块矩阵,在每个方块中显…

    Java 2023年5月18日
    00
  • Java二维数组实战案例

    关于“Java二维数组实战案例”的完整攻略,我将从以下三个方面进行详细讲解: 二维数组的基本概念和定义方法 Java二维数组的实战案例 示例说明 1.二维数组的基本概念和定义方法 二维数组是指在数组中每个元素也是一个数组的情况,二维数组通常可以看做是一个表格,最常见的就是二维数组的整体表示法。下面是一个基本的Java二维数组定义: //定义一个3行4列的整型…

    Java 2023年5月26日
    00
  • Java WebService技术详解

    Java WebService 技术详解攻略 一、什么是 WebService? WebService是基于Web的远程服务,通过它可以实现跨网络的像函数调用一样的服务调用,实现异构系统之间的数据交互,可以对两种不同的编程语言,两种不同的开发平台上的系统实现互操作。 二、WebService 的核心技术 WebService 的核心技术包括:SOAP,WSD…

    Java 2023年5月24日
    00
  • Java中byte[]、String、Hex字符串等转换的方法

    下面就是Java中byte[]、String、Hex字符串等转换的方法的详细攻略。 byte[]和String之间的转换 在Java中,byte[]和String之间的互相转换是非常常见的操作,常用的方法有: byte[] -> String 通过String类的构造函数来将byte[]转换为String: byte[] bytes = {97, 98…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部