关于java 中 的args参数的一些小问题,请大神指教
这道题是求10的阶乘,我想请问第10行是为什么这样做?好像这道题注释掉第9、10行一样可以得出结果,加上”i=Integer.parseInt(args[0]);“的作用...
这道题是求10的阶乘,我想请问第10行是为什么这样做?好像这道题注释掉第9、10行一样可以得出结果,加上” i=Integer.parseInt(args[0]);“的作用是什么?1 package practise;2 public class 阶乘 {3 static int theMethod(int n){4 if((n==0)||(n==1)) return 1;5 else return n*theMethod(n-1);6 }7 public static void main(String[] args) {8 int i=10;9 if(args.length>0)10 i=Integer.parseInt(args[0]);//将args[0]转化为int值11 System.out.println(i+"!的阶乘="+theMethod(i));12 }1314 }
展开
2个回答
展开全部
int i=10;
if(args.length>0)
i=Integer.parseInt(args[0]);//将args[0]转化为int值
这两句的意思是:i默认是10,默认是求10的阶乘;但是如果使用命令 (java 阶乘 8 )来执行的话,此时arg[0]=8,就变成了是计算8的阶乘了。如果使用命令 (java 阶乘 20 )来执行,就是计算20的阶乘了.
if(args.length>0)
i=Integer.parseInt(args[0]);//将args[0]转化为int值
这两句的意思是:i默认是10,默认是求10的阶乘;但是如果使用命令 (java 阶乘 8 )来执行的话,此时arg[0]=8,就变成了是计算8的阶乘了。如果使用命令 (java 阶乘 20 )来执行,就是计算20的阶乘了.
追问
这个我知道。但是为什么还要判断args.length>0,然后再使用i=Integer.parseInt(args[0]);这句?好像注释掉第9、10行,结果一样无差别。那么第9、10行的作用的是什么呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询