Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_If Statement_Min - Fatal编程技术网

Java最小查找器不工作

Java最小查找器不工作,java,loops,if-statement,min,Java,Loops,If Statement,Min,这里是我到目前为止的代码片段。我的问题是,最小值显示为Integer.MAX_值,而不是我想要的值。iSpeedMph和pressure都是一维整数数组 //calculating mins Integer min = Integer.MAX_VALUE; int minSpeed = Integer.MAX_VALUE; int minPressure = Integer.MAX_VALUE; for(i = 0; i < iSpeedMph.le

这里是我到目前为止的代码片段。我的问题是,最小值显示为Integer.MAX_值,而不是我想要的值。iSpeedMph和pressure都是一维整数数组

    //calculating mins
    Integer min = Integer.MAX_VALUE;
    int minSpeed = Integer.MAX_VALUE;
    int minPressure = Integer.MAX_VALUE;
    for(i = 0; i < iSpeedMph.length; i++)
    {
        if (min > iSpeedMph[i])
        {
            min = iSpeedMph[i];
            minSpeed = iSpeedMph[i];
        }
    }

    min = Integer.MAX_VALUE;

    for(i = 0; i < pressure.length; i++)
    {
        if (min > pressure[i])
        {
            min = pressure[i];
            minPressure = pressure[i];
        }
    }
...
    System.out.printf("%7s%2s%-9s%4s%8s%5s%13.3s%5s%16.2s\n", "Minimum",  " ", " ", " ", " ", " ", minPressure, " ", minSpeed);
//计算分钟数
整数最小值=整数最大值;
int minSpeed=Integer.MAX_值;
int minPressure=Integer.MAX_值;
对于(i=0;iiSpeedMph[i])
{
最小值=iSpeedMph[i];
分钟速度=每小时速度[i];
}
}
最小值=整数。最大值;
对于(i=0;i压力[i])
{
最小值=压力[i];
最小压力=压力[i];
}
}
...
系统输出打印F(“%7s%2s%-9s%4s%8s%5s%13.3s%5s%16.2s\n”、“最小”、“最小”、“最小压力”、“最小速度”);

当我打印出最后一行时,终端显示214表示压力,21表示速度,没有格式,这意味着它们都是整数.MAX\u值。

您正在检查当前项是否大于当前最小值,即
整数.MAX\u值,但您要检查当前项目是否小于当前最小值,例如

if (iSpeedMph[i] < min)
if(iSpeedMph[i]

同样,对于其他最小值测定。

您正在检查当前项是否大于当前最小值,即
整数。最大值
,但您希望检查当前项是否小于当前最小值,例如

if (iSpeedMph[i] < min)
if(iSpeedMph[i]
同样,对于其他最小值测定。

试验

if (iSpeedMph[i] > min) 
始终返回
false
。您必须反向比较

if (iSpeedMph[i] < min) 
测试

if (iSpeedMph[i] > min) 
始终返回
false
。您必须反向比较

if (iSpeedMph[i] < min) 

以下条件对于任何整数都不会为真,因为
min
integer.MAXVALUE

if (iSpeedMph[i] > min)

只需将其初始化为0,以检查您是否正在搜索数组中所有元素的最小值,或者使用第一个数组值指定最小值,并从第二个元素循环数组。

以下条件对于任何整数都不会变为真,因为
min
整数。MAXVALUE

if (iSpeedMph[i] > min)
只需将其初始化为0,以检查您是否正在搜索数组中所有元素的最小值,或者,使用第一个数组值指定最小值,并从第二个元素循环数组。

if(iSpeedMph[i]>min)
这如何为您提供新的最小值

另外,请使用已经为您编写的
min
方法,例如
if(iSpeedMph[i]>min)
这如何为您提供新的min值


另外,请使用已经为您编写的
min
方法,例如

,正如其他人指出的那样,您在if语句中的比较是错误的。但使用Java 8流在数组中查找最小值和最大值非常简单:

int minSpeed = Arrays.stream(iSpeedMph).min().get();
int minPressure = Arrays.stream(pressure).min().get();

正如其他人所指出的那样,if语句中的比较是错误的。但使用Java 8流在数组中查找最小值和最大值非常简单:

int minSpeed = Arrays.stream(iSpeedMph).min().get();
int minPressure = Arrays.stream(pressure).min().get();

像这样的简单错误是最烦人的,举手!像这样的简单错误是最烦人的,举手!