java数组赋值问题

来源:百度知道 编辑:UC知道 时间:2024/09/27 05:44:20
请教高人一个问题
代码
class Isodd
{
public static void main(String[] args)
{
int num=Integer.parseInt(args[0]); //接收输入
String isodd="输入的是";
if (num%2==0)
{
isodd+="偶数";
}
else
{
isodd+="奇数";
}
System.out.println(isodd);
}
}

运行javac编译没有错误,运行java没有弹出“参数”对话框
只显示:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Isodd.main(Isodd.java:6)
有高人告诉下什么原因麽?先谢谢了..该怎么赋值?可以的话把对的代码重新打出来...

抛出的异常叫数组下标越界
出这个问题第一:你的长度过长 超过数组的长的
第二:如果你输入的含有非数字字符就会出问题了,因为无法程序中无法给你转型为数字
但是这个问题不是处在这里
那是因为你的程序根本无法得到这个args[0]这个值
你要想运行这个程序必须在控制台中运行
..javac Isodd.java
..java Isodd.class 10(10是你输入要判断的数)
省略号代表盘符

你在运行的时候给出参数。你的程序的那个输入的参数是在你用java isodd这个命令时给出的。所以你的运行应这样:java isodd 5
这样就是输入了一个5为参数,当然你还可以输入其它的数字