标题:请帮我修改一下程序
只看楼主
dearbaby_gx
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-11-28
 问题点数:0 回复次数:11 
请帮我修改一下程序
class Circle
{
public static float PI=3.1415926F;

public float area(int r)
{
return PI*r*r;
}

public static void main(String[] arg)
{
Circle c=new Circle();
float a=c.area(Integer.parseInt(arg));
System.out.println("area is: "+a);
}
}

经调试,float a=c.area(Integer.parseInt(arg))语句错误。请问如何修改?
搜索更多相关主题的帖子: void public return 
2005-12-07 11:23
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
得分:0 
我试了一下,好象是找不到arg哦,等高手来解决吧~

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-07 11:52
david603
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-12-6
得分:0 

声明数组仅仅是给它名子 string arg[] 没有给它分配内存 不能使用它 要想调用必需分配内存也就是指明数组长度 arg[长度]
可改为

class Circle
{
public static float PI=3.1415926F;

public float area(int r)
{
return PI*r*r;
}

public static void main(String arg[])
{
Circle c=new Circle();

float a=c.area(Integer.parseInt(arg[0]));
System.out.println("area is: "+a);

}
}





最好是

class Circle
{
public static float PI=3.1415926F;

public float area(int r)
{
return PI*r*r;
}

public static void main(String arg[])
{
Circle c=new Circle();
for(int i=0; i<arg.length;i++)
{
float a=c.area(Integer.parseInt(arg[i]));
System.out.println("area is: "+a);
}
}
}

2005-12-07 15:46
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
得分:0 

果然有高手来了~


懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-07 16:07
dearbaby_gx
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-11-28
得分:0 

三楼高手真厉害。多谢了

2005-12-07 18:54
冰凰紫
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2005-12-3
得分:0 
三楼的能告诉我float a=c.area(Integer.parseInt(arg[0]));
是不是把字符串中的第一个字符经强制转换后的值传递给
public float area(int r)
{
return PI*r*r;
}
中的r了;
可是我有个疑问~~!
字符串没有初值啊~~!
怎么把面积计算出来了~!!

多看帖多回帖,这是态度问题,还是成长的过程~~~!能发帖就是一种进步~~~!
2005-12-07 21:10
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
那字符串是你从控制台输入的...

淘宝杜琨
2005-12-07 21:33
weizheng
Rank: 1
等 级:新手上路
威 望:2
帖 子:286
专家分:0
注 册:2005-4-21
得分:0 
Main 函数中的arg应为args

温和如玉,完美纯正。
2005-12-07 22:22
david603
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-12-6
得分:0 
我用args[]和arg[]都试了 两个都好使 谁知道他们两个有什么区别?



三楼的能告诉我float a=c.area(Integer.parseInt(arg[0]));
是不是把字符串中的第一个字符经强制转换后的值传递给
public float area(int r)
{
return PI*r*r;
}
中的r了;
可是我有个疑问~~!
字符串没有初值啊~~!
怎么把面积计算出来了~!!

是从键盘上输入到DOS口的!
2005-12-07 23:01
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
得分:0 

我觉得没什么区别吧 代号而已,只要是main方法的参数数组就行了。
是这么说吧~ 斑竹?


懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-08 09:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-37037-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.060817 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved