Java 如何从双数据类型值集中获取最大值?
我从五个不同的函数中得到了五个双数据类型的值。没有将这些值添加到数组中,就没有任何有效的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++){
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