新手学习Integer包装器出现问题,求高手解答

时间:2022-08-01 07:12:21
有人能帮帮我吗?自学张孝祥的《Java就业培训教程》时出问题了。
源代码:
public class TestInteger {
public static void main(String[] args){
int w = Integer.parseInt(args[0]);

int h = new Integer(args[1]).intValue();
// int h = Integer.valueOf(args[1]).intValue();
for (int i = 0; i < h; i++) {
StringBuffer sb = new StringBuffer();
for (int j = 0; j < w; j++) {
sb.append("*");
}
System.out.println(sb.toString());
}

}

}
输出结果:
C:\Documents and Settings\night>java TestInteger 20 10
Exception in thread "main" java.lang.NoClassDefFoundError: TestInteger
Caused by: java.lang.ClassNotFoundException: TestInteger
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: TestInteger.  Program will exit.
它提示我数组下标越界,但是我找不出我哪里越界了啊……

10 个解决方案

#1


这个这个。。。。。。是说找不到类,去看看classpath和path吧

#2


Exception in thread "main" java.lang.NoClassDefFoundError: TestInteger
Caused by: java.lang.ClassNotFoundException: TestInteger

这是类没有找到,不是越界。

#3


你给出的异常信息是找不到类。。。
你编译了吗。。

#4


javac

#5


你编译肯定错了,,

#6


问题补充一下:在Eclipse中,它给出的异常提示是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestInteger.main(TestInteger.java:4)
我就是看到这里才以为是数组下标越界

#7


引用 6 楼 nightglacier 的回复:
问题补充一下:在Eclipse中,它给出的异常提示是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestInteger.main(TestInteger.java:4)
我就是看到这里才以为是数组下标越界


现在才是数组下标越界~

#8


eclipse运行的话,默认是没参数的,你要是想加上10 20,要去run下的run config设置一下

#9


引用 7 楼 bright900105 的回复:
引用 6 楼 nightglacier 的回复:
问题补充一下:在Eclipse中,它给出的异常提示是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestInteger.main(TestInteger.java:4)
我就是看到这里才以为是数组下标越界


现在才是数组……

最开始我就用Eclipse运行的,结果就出现了6楼的结果,至于1楼那一大段是我后来用命令提示符弄的……

#10


引用 8 楼 soli11722984 的回复:
eclipse运行的话,默认是没参数的,你要是想加上10 20,要去run下的run config设置一下

哇,总算找出来了,谢谢这位朋友。

#1


这个这个。。。。。。是说找不到类,去看看classpath和path吧

#2


Exception in thread "main" java.lang.NoClassDefFoundError: TestInteger
Caused by: java.lang.ClassNotFoundException: TestInteger

这是类没有找到,不是越界。

#3


你给出的异常信息是找不到类。。。
你编译了吗。。

#4


javac

#5


你编译肯定错了,,

#6


问题补充一下:在Eclipse中,它给出的异常提示是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestInteger.main(TestInteger.java:4)
我就是看到这里才以为是数组下标越界

#7


引用 6 楼 nightglacier 的回复:
问题补充一下:在Eclipse中,它给出的异常提示是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestInteger.main(TestInteger.java:4)
我就是看到这里才以为是数组下标越界


现在才是数组下标越界~

#8


eclipse运行的话,默认是没参数的,你要是想加上10 20,要去run下的run config设置一下

#9


引用 7 楼 bright900105 的回复:
引用 6 楼 nightglacier 的回复:
问题补充一下:在Eclipse中,它给出的异常提示是:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestInteger.main(TestInteger.java:4)
我就是看到这里才以为是数组下标越界


现在才是数组……

最开始我就用Eclipse运行的,结果就出现了6楼的结果,至于1楼那一大段是我后来用命令提示符弄的……

#10


引用 8 楼 soli11722984 的回复:
eclipse运行的话,默认是没参数的,你要是想加上10 20,要去run下的run config设置一下

哇,总算找出来了,谢谢这位朋友。