日期:2014-05-20  浏览次数:20570 次

public static void main(String ... args)的使用
我现在想要给一个实数集求根,已经写下面一些,但是在去输入值并转换的时候出了问题,不知道有没有人知道应该怎么解决。

Java code

public class RootFromProduct {
    public double folge(double[] array)throws NegativeNumberException{        
        double sum=0;        
        for(int i=0; i<array.length; i++){
            if(array[i]<0)
                throw new NegativeNumberException();
            sum += array[i];
        }        
        double result = Math.sqrt(sum);
        return result;
    }
    
    public static void main(String ... args) throws NegativeNumberException{        
        try{
                        double[] array = new double[100];
            for(int i=0; i<args.length; i++){
                           array[i] = args[i];                            
            }
        }
        catch(Exception ex){            
        }                   
    }
}


这儿args的值本身是String类型的,但是我要把它转换成数字类型的,应该怎么转换?

------解决方案--------------------
array[i] = Double.parseDouble(args[i]);
------解决方案--------------------
运行的时候,第一个参数为输入的实数个数,或者根据参数的个数初始化数组大小不就可以了吗。

探讨

改了以后应该是可以了的,但是程序没法运行,并且显示有错。
Java code

public static void main(String ... args) throws NegativeNumberException{
try{
double [] array = new double[100];
……

------解决方案--------------------
Java code

public class RootFromProduct {
    public static double folge(double[] array)/*throws NegativeNumberException*/{        
        double sum=0;        
        for(int i=0; i<array.length; i++){
            if(array[i]<0)
              return sum ;
                //throw new NegativeNumberException();
            sum += array[i];
        }        
        double result = Math.sqrt(sum);
        System.out.println(result ) ;
        return result;
    }
    
    public static void main(String[] args) /*throws NegativeNumberException*/{        
        try{
                        double[] array = new double[100];
            for(int i=0; i<args.length; i++){
                           array[i] = Double.parseDouble(args[i]);                            
            }
            
            folge(array) ;
        }
        catch(Exception ex){            
        }                   
    }
}