public static void main(String ... args)的使用

szlxq27 2012-03-30 11:05:31
我现在想要给一个实数集求根,已经写下面一些,但是在去输入值并转换的时候出了问题,不知道有没有人知道应该怎么解决。


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类型的,但是我要把它转换成数字类型的,应该怎么转换?
...全文
303 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
szlxq27 2012-04-01
  • 打赏
  • 举报
回复
已经解决了,另外我把数组的值直接和输入的变量连接,这样也方便了不少。

double[] array = new double[args.length];
五哥 2012-03-31
  • 打赏
  • 举报
回复

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


输出:

F:\javaTest>java RootFromProduct 1 2
1.7320508075688772
lysnow_oss 2012-03-31
  • 打赏
  • 举报
回复
运行的时候,第一个参数为输入的实数个数,或者根据参数的个数初始化数组大小不就可以了吗。

[Quote=引用 2 楼 的回复:]

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

public static void main(String ... args) throws NegativeNumberException{
try{
double [] array = new double[100];
……
[/Quote]
脉动 2012-03-31
  • 打赏
  • 举报
回复
1.这个异常NegativeNumberException是你自己定义的吗?找不到...
2.在main方法中不可以直接调用非静态的folge(array);,应该将folge方法上加上static
xiaobeiweng 2012-03-31
  • 打赏
  • 举报
回复
MARK,了再看。。。
limeng1311 2012-03-31
  • 打赏
  • 举报
回复
输入参数还是用string类型,不过接收参数之后把它转换成数字
szlxq27 2012-03-31
  • 打赏
  • 举报
回复
改了以后应该是可以了的,但是程序没法运行,并且显示有错。

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]);
}
System.out.println("Result: "+ folge(array));
}
catch(NegativeNumberException ex){
}
}

这儿的值应该已经输入到数组中的了,另外有没有办法不给定数组的大小啊?
xiaoyu270 2012-03-31
  • 打赏
  • 举报
回复
mark! continue!
wi129 2012-03-31
  • 打赏
  • 举报
回复
你的main好像与上面的类没什么关系啊
szlxq27 2012-03-31
  • 打赏
  • 举报
回复
前面的方法中忘记加上static了,实际上是有的。这个Exception的话是我自己设定的,只是为了保证给的数不是负数。
最后帖子给的程序在我的eclipse上面就显示有Error,但是就是不知道问题出在哪儿,而且也不出答案。
宏Lee 2012-03-30
  • 打赏
  • 举报
回复
array[i] = Double.parseDouble(args[i]);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧