我是一个JAVA的初学者   有一道题请高手帮忙1、 编写一个Java应用程序,计算并输出一维数组(9.8,12,45,67,23,1.98,2.55,45)中的最大值和最小值看到有些人直接  double []d={9.8,12,45,67,23,1.98,2.55,45};   这样就把输出结果该了啊   比如最大值就会输出67.0

解决方案 »

  1.   

    直接循环+比较就可以了设置max min变量
    for( int i = 0;i<shuzhu.lenght;i++)
    {
    if(shuzu[i]>max)  max = shuzu[i];
    if(shuzu[i]<min)  min = shuzu[i];
    }
    输出max 和min就可以了
      

  2.   

    Arrays.sort(xx)先排序,第一个最小,最后一个最大。
      

  3.   


    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);
    }
    }
      

  4.   

    用double和float 都是比较好的,应为他们都是保留小数,如果用Int 型的,如果数组里面有两个参数的值分别是 3.24  。 3.67 int型的都会把他转换成3,这样就没法区别的,但用浮点数就可以区分,建议用浮点数
      

  5.   

    用SORT For examplepublic static void main(String[] args){
    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]);
    }
      

  6.   

    double和float不能简单的用><来比较
      

  7.   


    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);
    }
      

  8.   

    楼主不想要把整数转成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);
      

  9.   

    用Arrays这个类,是最方便的
    但是为什么用这个类要报错呢?  是要导入什么包吗?还是  什么
      

  10.   


    java.util.Arrays找最大最小值,排序並不是最好的方法
      

  11.   


    用Arrays.sort就是代码简单 图个方便
      

  12.   

     这个挺好的如果还不行的话就用循环吧 !
    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]);
        }
    }
      

  13.   

    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];

    }
    System.out.println("最大值"+max);
    System.out.println("最小值"+min);
    }
    }
    额 ,不是很好。
      

  14.   


    其实楼主主帖最后一句的意思应该就是说并不是不会取最大最小值,而是不想让输入的数据尤其是整数全变成double,所以我在上面用他们的公共父类Number去处理了
    更那啥一点可以都扔给字符串,然后用BigDecimal去处理,就更不用担心精度问题,但效率也更低