Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在这段代码中,如何获得数组中的最高值和最低值?_Java_Arrays - Fatal编程技术网

Java 在这段代码中,如何获得数组中的最高值和最低值?

Java 在这段代码中,如何获得数组中的最高值和最低值?,java,arrays,Java,Arrays,我需要帮助来获取数组中的最高值和最低值。我看到一些人使用Math.max和Math.min但是你如何应用它呢?在这个代码中 import java.util.Scanner; public class CaseStudy2A { public static void main(String[] args) { Scanner inp = new Scanner (System.in); int inpNum; System.out.prin

我需要帮助来获取数组中的最高值和最低值。我看到一些人使用
Math.max
Math.min
但是你如何应用它呢?在这个代码中

import java.util.Scanner;
public class CaseStudy2A {
    public static void main(String[] args) {
        Scanner inp = new Scanner (System.in);
        int inpNum;
        System.out.print("Enter Number: ");
        inpNum = inp.nextInt();

        int num[]=new int [inpNum];

        int y=0;
        int accu;

            for(int x=0;x<inpNum;x++) {
                y=y+1;

                System.out.print("\nNumber [" + y + "] : ");
                accu = inp.nextInt();

                num[x]=accu;
            }
        for(int x=0;x<inpNum;x++)
        System.out.print(num[x] + " ");
    }
}
import java.util.Scanner;
公共课案例研究2A{
公共静态void main(字符串[]args){
扫描仪inp=新扫描仪(System.in);
int-inpNum;
系统输出打印(“输入编号:”);
inpNum=inp.nextInt();
int num[]=新int[inpNum];
int y=0;
int accu;

对于(int x=0;x我觉得这是一个家庭作业……但有几种方法。你可以循环数组中的每个元素,将第一个元素存储到变量中,然后检查每个元素是否大于当前存储的元素。如果大于,则用该元素覆盖变量并继续。最后你将最大的一个


另一种方法是对数组进行排序,然后将数组中的第一个和最后一个元素进行排序,得到最大和最小的元素。

我觉得这是家庭作业……但有几种方法可以做到。你可以循环数组中的每个元素,将第一个元素存储到变量中,然后检查每个元素是否正确的值大于当前存储的值。如果是,请用该值覆盖变量并继续。最后将得到最大的值


另一种方法是对数组进行排序,然后取数组中的第一个和最后一个元素,给出最大和最小的元素。

如果性能不相关,则可以从数组中创建一个集合,并使用和min

如果你想通过数学解决家庭作业。*你可以使用以下代码段:

int max= Integer.MIN_VALUE;
int min= Integer.MAX_VALUE;
for(int x=0;x<inpNum;x++){
 max = Math.max(max,x);
 min = Math.min(min,x);
int max=Integer.MIN\u值;
int min=整数最大值;

对于(int x=0;x如果性能不相关,则可以从数组中创建一个集合,并使用和min

如果你想通过数学解决家庭作业。*你可以使用以下代码段:

int max= Integer.MIN_VALUE;
int min= Integer.MAX_VALUE;
for(int x=0;x<inpNum;x++){
 max = Math.max(max,x);
 min = Math.min(min,x);
int max=Integer.MIN\u值;
int min=整数最大值;

对于(intx=0;x[有人试图编辑我的帖子,所以我决定自己改进它]

介绍

int min=0, max=0;
然后,在第一个“for”循环之后,当所有数组值都已知时,执行以下操作:

min=max=num[0];
for(int x=1; x<inpNum; x++) {
  if(num[x]<min) {
    min=num[x];
  }
  else if(num[x]>max) {
    max=num[x];
  }
}
min=max=num[0];

对于(intx=1;x[有人试图编辑我的帖子,所以我决定自己改进它]

介绍

int min=0, max=0;
然后,在第一个“for”循环之后,当所有数组值都已知时,执行以下操作:

min=max=num[0];
for(int x=1; x<inpNum; x++) {
  if(num[x]<min) {
    min=num[x];
  }
  else if(num[x]>max) {
    max=num[x];
  }
}
min=max=num[0];

对于(int x=1;x)您是否试图从用户命令行输入中获取最高数字?是的,最高和最低。您试图从用户命令行输入中获取最高数字?是的,最高和最低排序增加了不必要的复杂性。这是一个装订O(n)问题。排序增加了不必要的复杂性。这是装订O(n)问题。或者,如果他们不想使用数学库
max>x?max:x
我刚才注意到,您使用的是
math.min
,应该是
math.max
,反之亦然。目前,max保证是
Integer.min\u值
。此外,还应该是
num[x]
,而不是
x
,或者如果他们不想使用数学库
max>x?max:x
,我刚才注意到,您使用的是
math.min
,应该是
math.max
,反之亦然。目前,max保证是
Integer.min\u值
。此外,应该是
num[x]
,而不是
x