zoukankan      html  css  js  c++  java
  • 5-5 可变参数的方法

    import java.io.PrintStream;
    
    
    public class ParamVaO {
    
        /**
         * @author:lixh
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
    
            
            double[] a =  new double[]{3.1,4.5,1.1};
            getMax(3.1,4.5,1.1);
            getMax(a);
            
        }
    
        /**
         * 参数变量可变的方法
         * 
         * System.out.printf(format, args);
         * 源码
         *  public PrintStream printf(String format, Object ... args) {
         *      return format(format, args);
         *  }
         *  对于方法printf来说 Object ... args 与 Object[] args 一样
         * 编译器对每次的调用进行转换,以便将参数绑定到数组上,并在必要时候进行自动装箱
         * 
         * 
         * 
         *  getMax(3.1,4.5,1.1);
         *     编译器将new double[]{3.1,4.5,1.1};传递给方法getMax
         * 
         * 参数可变变量必须放到最后一位   public static double getMax(double ... arg,String string){}报错
         * 
         * 可以将最后一个参数是数组方法重新定义成可变参数的方法,而且不会破坏已经存在的代码
         */
        public static double getMax(double ... arg){
            double Max = 0.0d;
            for (double d : arg) {
                if (Max<d) {
                    Max = d;
                }
            }
            return Max;
        } 
        
        /*public static double getMax(double[] arg){
            double Max = 0.0d;
            for (double d : arg) {
                if (Max<d) {
                    Max = d;
                }
            }
            return Max;
        } */
        
        
    }
  • 相关阅读:
    求最大的矩形(悬线法)
    限制不互素对的排列(构造)
    括号(构造)
    G. 4.奶牛(二进制枚举)
    新飞行棋(上楼梯)
    小天狼星的访问
    欧拉筛线性筛法,约数和和约数个数
    Find The Multiple
    How Many O's? UVA
    GCD LCM UVA
  • 原文地址:https://www.cnblogs.com/lxh520/p/8228178.html
Copyright © 2011-2022 走看看