| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 540 人关注过本帖
标题:[求助]命令行参数的传递
只看楼主 加入收藏
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
 问题点数:0 回复次数:6 
[求助]命令行参数的传递
class Student{
double avg;
int sum=0;
void jisuan(String[] args){
for(int i=0;i<args.length;i++){
sum+=(int)args[i];
}
avg=sum/args.length;
}
void display(){
System.out.println("学员的总成绩为"+sum);
System.out.println("学员的平均成绩为"+avg);
}
}
class Test{
public static void main(String[] args){
Student p=new Student();
p.jisuan(args);
p.display();
}
}

系统提示我不能强转,请问我该怎样改才能实现我代码的功能呢 我的学员成绩是通过命令行参数传过去的 请高手指点 谢谢
搜索更多相关主题的帖子: 参数 命令 
2007-07-09 11:18
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
int i=Integer.parseInt(String s);

当s不可转为int的时候就会抛出NumberFormatException

比如你想把"asb"转为数字,那是不可能的

可惜不是你,陪我到最后
2007-07-09 11:21
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
得分:0 
class Student{
double avg;
int sum=0;
void jisuan(String[] args){
try{
for(int i=0;i<args.length;i++){
sum+=Integer.parseInt(args[i]);
}
avg=sum/args.length;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("未给出参数!");
}catch(NumberFormatException e){
System.out.println("参数中含有非数字!");
}catch(ArithmeticException e){
System.out.println("除数不能为0!");
}
}
void display(){
System.out.println("学员的总成绩为"+sum);
System.out.println("学员的平均成绩为"+avg);
}
}
class Test{
public static void main(String[] args){
Student p=new Student();
p.jisuan(args);
p.display();
}
}
当我直接运行并没有给参数时,异常处理提示除数不能为零,为什么不是"未给出参数"呢,请指点,谢谢

2007-07-09 14:38
pity1115
Rank: 1
等 级:新手上路
威 望:2
帖 子:184
专家分:0
注 册:2006-9-15
收藏
得分:0 

因为你try里的fro循环没有执行,就执行了avg=sum/args.length;


2007-07-09 15:12
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
得分:0 
那就我这段代码该怎样改才能实现该功能 提示未给出参数呢

2007-07-09 15:43
pity1115
Rank: 1
等 级:新手上路
威 望:2
帖 子:184
专家分:0
注 册:2006-9-15
收藏
得分:0 
if(args.length==0)
System.out.println("未给出参数!");
这样就可以了,
我觉得能自己判断的就判断一下,没必要什么东西都用异常来处理。

2007-07-09 16:33
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
得分:0 

谢谢大家的帮助


2007-07-09 16:50
快速回复:[求助]命令行参数的传递
数据加载中...
 
   



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

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