Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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

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_Loops_Double_Max - Fatal编程技术网

Java 如何从双数据类型值集中获取最大值?

Java 如何从双数据类型值集中获取最大值?,java,arrays,loops,double,max,Java,Arrays,Loops,Double,Max,我从五个不同的函数中得到了五个双数据类型的值。没有将这些值添加到数组中,就没有任何有效的java代码可以从这五个值集中获得最大值 double d1=r1.function1(); double d2=r1.function2(); double d3=r1.function3(); double d4=r1.function4(); double d5=r1.function5(); double[] d=new double[5]; for(int i=0:i<5;i++){

我从五个不同的函数中得到了五个双数据类型的值。没有将这些值添加到数组中,就没有任何有效的java代码可以从这五个值集中获得最大值

double d1=r1.function1();
double d2=r1.function2();
double d3=r1.function3();
double d4=r1.function4();
double d5=r1.function5();

double[] d=new  double[5];
for(int i=0:i<5;i++){
    d[i]="d"+i;
}
double x=max(d);

public static double max(double[] t) {
    double maximum = t[0];   // start with the first value
    for (int i=1; i<t.length; i++) {
        if (t[i] > maximum) {
            maximum = t[i];   // new maximum
        }
    }
    return maximum;
}
double d1=r1.function1();
双d2=r1.function2();
双d3=r1。函数3();
双d4=r1.function4();
双d5=r1.function5();
double[]d=新的double[5];

对于(int i=0:i您可以使用
ArrayList

    ArrayList<Double> alist=new ArrayList<Double>();
    //Add double values to this list
ArrayList alist=new ArrayList();
//在此列表中添加双值

您可以使用获取最大值和最小值。

您可以使用
ArrayList

    ArrayList<Double> alist=new ArrayList<Double>();
    //Add double values to this list
ArrayList alist=new ArrayList();
//在此列表中添加双值

可以使用获取最大值和最小值。

可以使用varargs而不是数组

public double max(double... values) {
    int max = -Double.MAX_VALUE;
    for(double value : values) {
        if(value > max) {
            max = value;
        }
    }
    return max;
}
然后调用方法,如
double max=max(d1、d2、d3、d4、d5);

编辑:

你的台词

for(int i=0:i<5;i++){
    d[i]="d"+i;
}

可以使用varargs而不是数组

public double max(double... values) {
    int max = -Double.MAX_VALUE;
    for(double value : values) {
        if(value > max) {
            max = value;
        }
    }
    return max;
}
然后调用方法,如
double max=max(d1、d2、d3、d4、d5);

编辑:

你的台词

for(int i=0:i<5;i++){
    d[i]="d"+i;
}

您不必自己将它们放入数组中,让Java使用varargs完成这部分工作:

public static double max(Double... numbers){
    double max = numbers[0];

    for(int i = 0; i < numbers.length; i++){
        if(numbers[i] > max){
            max = numbers[i];
        }
    }

    return max;
}
公共静态双倍最大值(双倍…数字){
双倍最大值=数字[0];
for(int i=0;i最大值){
max=数字[i];
}
}
返回最大值;
}

您不必自己将它们放入数组,让Java使用varargs完成这部分工作:

public static double max(Double... numbers){
    double max = numbers[0];

    for(int i = 0; i < numbers.length; i++){
        if(numbers[i] > max){
            max = numbers[i];
        }
    }

    return max;
}
公共静态双倍最大值(双倍…数字){
双倍最大值=数字[0];
for(int i=0;i最大值){
max=数字[i];
}
}
返回最大值;
}
if将比if更有效,而不是将d作为数组。首先将其作为列表


if将比if更有效,if代替d作为数组。首先将其作为列表。

您可以将
d1、d2、d3、d4、d5
添加到
树集

Set<Double> set=new TreeSet<>(); // while you adding set will be sorted
// add values to set
List<Double> setAsList=new ArrayList(set); // convert set to list
System.out.println(setAsList.get(setAsList.size()-1)); // last value is the max
Set Set=new TreeSet();//添加集合时将对其进行排序
//添加要设置的值
List setAsList=new ArrayList(集合);//将集合转换为列表
System.out.println(setAsList.get(setAsList.size()-1));//最后一个值是最大值

您可以将
d1、d2、d3、d4、d5
添加到
TreeSet

Set<Double> set=new TreeSet<>(); // while you adding set will be sorted
// add values to set
List<Double> setAsList=new ArrayList(set); // convert set to list
System.out.println(setAsList.get(setAsList.size()-1)); // last value is the max
Set Set=new TreeSet();//添加集合时将对其进行排序
//添加要设置的值
List setAsList=new ArrayList(集合);//将集合转换为列表
System.out.println(setAsList.get(setAsList.size()-1));//最后一个值是最大值
List d=new ArrayList();
d、 添加(d1);
d、 添加(d2);
d、 添加(d3);
d、 增加(d4);
d、 添加(d5);
双倍最大值=集合。最大值(d);
List d=new ArrayList();
d、 添加(d1);
d、 添加(d2);
d、 添加(d3);
d、 增加(d4);
d、 添加(d5);
双倍最大值=集合。最大值(d);
在Java 8中

java.util.Arrays.parallelSort(d).get(d.size-1)
获取(合并排序)数组中的最大值。

在Java 8中

java.util.Arrays.parallelSort(d).get(d.size-1)
获取(合并排序)数组中的最大值。

在Java 8中:

Arrays.stream(darray).max().getAsDouble()
Full方法(在本例中,如果数组为空,则返回零;根据需要更改默认值)

可以使用数组或varargs参数调用此方法:

double[] darray = new double[]{43.7, 65.2, 99.1, 87.6};
double max1 = max(darray);
double max2 = max(1.2, 3.4, 5.6);
在Java 8中:

Arrays.stream(darray).max().getAsDouble()
Full方法(在本例中,如果数组为空,则返回零;根据需要更改默认值)

可以使用数组或varargs参数调用此方法:

double[] darray = new double[]{43.7, 65.2, 99.1, 87.6};
double max1 = max(darray);
double max2 = max(1.2, 3.4, 5.6);

您必须将这些值添加到某个容器中,例如数组/列表/集合等。这将是最简单的方法。可能重复使用数组是最简单的方法,什么是“d”在这里,您必须将这些值添加到某个容器中,可以是数组/列表/集合等。这将是最简单的方法。可能重复使用数组是最简单的方法,什么是“d”在不将这些值添加到数组中的情况下执行此操作,是否有任何有效的java代码可以从该五个值集中获取最大值。@如果有5个值(不在列表或数组中),请不要介意唯一的方法是将所有值相互比较。此外,该解决方案只适用于5个值,不多也不少。我的观点正是如此。这就是我投票关闭它的原因。没有有效的解决方案。:@最重要的是,有效的解决方案是将值存储在列表中。然后使用Collections类。@TheLostMind that true…我还认为最好的方法是将值添加到arraylist中,然后添加到max方法中。谢谢大家。:)(和@nafas)如果不将这些值添加到数组中,是否有任何有效的java代码可以从该五个值集中获取最大值。@如果有5个值(不在列表或数组中),则最重要的是,唯一的方法是将所有值相互比较。此外,该解决方案仅适用于5个值,不多也不少。我的观点正是。。这就是我投票关闭它的原因。。没有有效的解决方案。:)@最重要的是,有效的解决方案是将值存储在列表中。然后使用Collections类。@TheLostMind that true…我还认为最好的方法是将值添加到arraylist中,然后添加到max方法中。谢谢大家。:)(和@nafas)为了改进您的答案,您可以简单地解释一下
.Max
函数是可枚举对象的一个通用函数,以使用法更清晰。我认为它本身是不合格和不言而喻的,我认为代码是不言而喻的。虽然我本可以按照你的判决在代码上加脚注。到目前为止,我将注意注释我的工作,以改进您的答案。您可以简单地解释一下
.Max
函数是可枚举对象的一个通用函数,以使用法更清楚。我认为它本身是不合格和不言而喻的,我认为代码是不言而喻的。虽然我本可以按照你的判决在代码上加脚注。到现在为止,我将注意注释我的工作变量“max”应该是double而不是int。变量“max”应该是double而不是a