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