public static void main(String[] args) throws Exception { double[] array = { 9.8, 12, 45, 67, 23, 1.98, 2.55, 45 }; double min = array[0]; double max = array[0]; for (int i = 1; i < array.length; i++) { min = Math.min(min, array[i]); max = Math.max(max, array[i]); } System.out.println("min:" + min + "/max:" + max); }
楼主不想要把整数转成double的话,用Number吧Number[] d = { 9.8, 12, 45, 67, 23, 1.98, 2.55, 45 }; Number min = null, max = null; for (Number n : d) { min = min == null ? n : (min.doubleValue() > n.doubleValue() ? n : min); max = max == null ? n : (max.doubleValue() < n.doubleValue() ? n : max); } System.out.println("Max:" + max); System.out.println("Min:" + min);
用Arrays这个类,是最方便的 但是为什么用这个类要报错呢? 是要导入什么包吗?还是 什么
java.util.Arrays找最大最小值,排序並不是最好的方法
用Arrays.sort就是代码简单 图个方便
这个挺好的如果还不行的话就用循环吧 ! public class MaxMin { /** * @param args */ public static void main(String[] args) { double []d={9.8,12,45,67,23,1.98,2.55,45};
public class Test { public static void main(String[] args) { double []d={9.8,12,45,67,23,1.98,2.55,45}; double max = 0 ; double min = d[0]; for(int i=0;i<d.length-1;i++){ if(d[i]>max) max = d[i]; if(d[i]<min) min = d[i];
for( int i = 0;i<shuzhu.lenght;i++)
{
if(shuzu[i]>max) max = shuzu[i];
if(shuzu[i]<min) min = shuzu[i];
}
输出max 和min就可以了
public class MaxMin { /**
* @param args
*/
public static void main(String[] args) {
double []d={9.8,12,45,67,23,1.98,2.55,45};
out(d);
}
public static void out(double[] d) {
double max = 0;
double min = 100;
for(int i=0; i<d.length; i++) {
if(d[i]<min) min = d[i];
if(d[i]>max) max = d[i];
}
System.out.println("Max is: " + max + "Min is: " + min);
}
}
double[] d={9.8,12,45,67,23,1.98,2.55,45};
Arrays.sort(d);
System.out.println("Max:"+d[d.length-1]);
System.out.println("Min:"+d[0]);
}
public static void main(String[] args) throws Exception {
double[] array = { 9.8, 12, 45, 67, 23, 1.98, 2.55, 45 }; double min = array[0];
double max = array[0]; for (int i = 1; i < array.length; i++) {
min = Math.min(min, array[i]);
max = Math.max(max, array[i]);
} System.out.println("min:" + min + "/max:" + max);
}
Number min = null, max = null;
for (Number n : d) {
min = min == null ? n : (min.doubleValue() > n.doubleValue() ? n
: min);
max = max == null ? n : (max.doubleValue() < n.doubleValue() ? n
: max);
}
System.out.println("Max:" + max);
System.out.println("Min:" + min);
但是为什么用这个类要报错呢? 是要导入什么包吗?还是 什么
java.util.Arrays找最大最小值,排序並不是最好的方法
用Arrays.sort就是代码简单 图个方便
public class MaxMin { /**
* @param args
*/
public static void main(String[] args) {
double []d={9.8,12,45,67,23,1.98,2.55,45};
double max ;
double min;
for(int i=0; i<d.length; i++) {//此为排序小-》大!!
for(int j=i+1;j<d.length;j++)
if(d[i]>d[j])
{ double t=d[i];
d[i]=d[j];
d[j]=t;
}
}
System.out.println("Max is: " + d[d.length-1]+ "Min is: " + d[0]);
}
}
public static void main(String[] args) {
double []d={9.8,12,45,67,23,1.98,2.55,45};
double max = 0 ;
double min = d[0];
for(int i=0;i<d.length-1;i++){
if(d[i]>max) max = d[i];
if(d[i]<min) min = d[i];
}
System.out.println("最大值"+max);
System.out.println("最小值"+min);
}
}
额 ,不是很好。
其实楼主主帖最后一句的意思应该就是说并不是不会取最大最小值,而是不想让输入的数据尤其是整数全变成double,所以我在上面用他们的公共父类Number去处理了
更那啥一点可以都扔给字符串,然后用BigDecimal去处理,就更不用担心精度问题,但效率也更低