我的代码如下:class NumberCount
{
protected NumberCount()
{}
public static void main(String[] args)
{
try
{
long num;
int nod = 0;
num = Integer.parseInt(args[0]);
args[0] = args[53];
for (int i = 0 ; num>0; i++)
{
nod += 1;
num = num/10;
}
System.out.println("quantity of the number is :"+nod);
}
catch (NumberFormatException ne)
{
System.out.println("Number is not useful");
}
catch (ArrayIndexOutOfBoundsException ae)
{
System.out.println("Index of array is out of bounds"+ae);
}
}
}
我 输入javac NumberCount.java编译通过后
java NumberCount 10 运行抛出ArrayIndexOutOfBoundsException异常。这个问题很怪。不知道为什么会抛出异常。
为了求证一下我又输入了java NumberCount 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
还是会出现异常。又哥们说改一下命令行属性里的缓冲区大小。原本命令行的缓冲区大小为50,缓冲数量为4.我改成缓冲区大小为200,缓冲数量为200.还是会出现异常。这个难题请教一下大家。
{
protected NumberCount()
{}
public static void main(String[] args)
{
try
{
long num;
int nod = 0;
num = Integer.parseInt(args[0]);
args[0] = args[53];
for (int i = 0 ; num>0; i++)
{
nod += 1;
num = num/10;
}
System.out.println("quantity of the number is :"+nod);
}
catch (NumberFormatException ne)
{
System.out.println("Number is not useful");
}
catch (ArrayIndexOutOfBoundsException ae)
{
System.out.println("Index of array is out of bounds"+ae);
}
}
}
我 输入javac NumberCount.java编译通过后
java NumberCount 10 运行抛出ArrayIndexOutOfBoundsException异常。这个问题很怪。不知道为什么会抛出异常。
为了求证一下我又输入了java NumberCount 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
还是会出现异常。又哥们说改一下命令行属性里的缓冲区大小。原本命令行的缓冲区大小为50,缓冲数量为4.我改成缓冲区大小为200,缓冲数量为200.还是会出现异常。这个难题请教一下大家。
args[0] ==> NumberCount
args[1] ==> 10
测试的话,直接让num=53,循环动作即可,多看看书
args[0] ==> NumberCount
args[1] ==> 10
java NumberCount 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
改成:
args[0] = args[args.length - 1];
就可以了。我看了一下,下面的这个args[0]好像没有什么意义吧,也没有用到命令行参数第一个是args[0],不是args[1]楼上好像有人说错了,args[1]是第二个参数。