掌上宝官网:java关于main的参数

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 10:08:40
从命令行输入两个整数,计算这两个整数的商和余数,并输出结果(注意:除数不允许为0)。
我的代码:
import java.lang.*;
public class CommandParam
{
public static void main(String args[])
{
int i=Integer.valueOf(args[0]).intValue();
int j=Integer.valueOf(args[1]).intValue();
int s=i+j;
int mod=i%j;

System.out.println("你输入的数是: "+i+" 和 "+j);
System.out.println("两数之商是: "+s);
System.out.println("两数的余数是: "+mod);
}
}
编译通过,但运行错误,好象是args.length=0,我也不知道为什么,
请指教.
但是我还没输入参数之前它就抛出异常了,
屏幕上是这样输出的:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0
at CommanParam.main(CommanParam.java:8)
我用的是JCreator

这个题的用意在于main()方法的参数问题,参数是一个字符数组,String[] args ,那么首先我们必需要回答的一个问题是这个数组中的数据从哪来?
答案是:在你运行时给它,在Dos下输入java CommandParm 5 6 2 3^^^^^那么这个时候args.length就是你输入的长度;
那么接下来还有一个问题:就是我们怎么用他?
答案:正如你程序中的一样用到两个量,是args[]中的那两个量呢?是前两个!没用到的数据我们怎么知道它是不是存在呢?你可以用一个语句测试System.out.println(args.length+"个");
现在知道了你程序错在哪了吗?其实程序那也没有错,就是运行时错误,我想你应该知道了吧用java commandParam 1 8

最 后给你一点建议:这个题的用意是让你了解main()的参数问题,如果你是想接受键盘输入的数的话请用BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
如:
import java.io.*;//不能少
public class InputTest{
public static void main(String[] args){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入两个数:");
try{
int a=Integer.parseInt(br.readLine());
int b=Integer.parseInt(br.readLine());
}catch(IOException e){
System.out.println("error!");
}
System.out.println("你可以对你输入 的数进行处理!");

}
}

因为你没有接收键盘数据
所以args数组没有数据
建议main函数的参数不做任何用途
而是用其他的类来接收键盘输入!
我有一个类SavitchIn,很好用
国外专家写的接收键盘输入的类
想要的话给我短消息!

这么运行:
java CommandParam 4 2

你是怎么输入的?

没错,我这儿可以运行的
你运行时,有报错吗??

你运行是没输参数啊 。你输java CommandParam 8 3
就可以得到结果了。8 3 就是参数

IDE中想要输入命令行参数需要在专门的选项中设置的,推荐还是在cmd下输入参数运行,有如1楼所说的。