黑马程序员技术交流社区

标题: 为什么编译不出错,运行时出错?新人求指点 [打印本页]

作者: luke_yang    时间: 2015-1-7 13:51
标题: 为什么编译不出错,运行时出错?新人求指点
class a_2
{
        public static void main(String[] args)
        {
                int[][]arr={{3,5,1,7},{2,3,5,8},{6,1,8,2,}};
                int sum=0;
                for(int x=0;x<arr.length;x++){
                        for(int y=0;y<arr[x].length;y++){
                                sum=sum+arr[x][y];
                        }
                }
                System.out.println(sum);       
        }
}
运行时出错,如下:
/**Exception in thread "main" java.lang.NoClassDefFoundError: 1
Caused by: java.lang.ClassNotFoundException: 1
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: 1.  Program will exit.
*/
作者: 魅影惊鸿    时间: 2015-1-7 23:31
看看你的环境变量有没有配好? 再就是类名是不是打错了
作者: luke_yang    时间: 2015-1-8 08:22
谢谢 大家  我知道错误在哪里了   少了一个 public
加一个public  class a_2 就可以了

作者: czwanglei    时间: 2015-1-8 14:25
比较奇怪,我的电脑上可以运行的。但是那个2后面多了一个逗号。
作者: MengDeKaiShi    时间: 2015-1-9 21:42
新手上路
作者: Awizard    时间: 2015-1-9 23:20
包的原因么?
作者: d7142947    时间: 2015-1-9 23:48
编译只检查代码是不是符合规范
作者: dream_style    时间: 2015-1-10 13:48
类名,怎么可以小写
作者: dream_style    时间: 2015-1-10 13:50
类名要大写,main函数所属的类名和文件名要相同
作者: Jason996    时间: 2015-1-10 22:54
看报错是类名有问题
作者: 孤影恋红尘    时间: 2015-1-12 08:49
有没有QQ群之类的?大家方便交流啊
作者: 陈胜华    时间: 2015-1-12 15:37
类名出现错误了。。"class a_2 "
作者: arlenliu    时间: 2015-1-12 15:41
本帖最后由 arlenliu 于 2015-1-12 17:25 编辑

java中规定文件名必须跟public类的类名保持一致,main 方法是程序的入口,JVM只会寻找main方法,包含main方法的类最好是public的且只能有一个是public的,只有一个类的时候可以省略。看你报错的情况应该是这方面的问题。但是我运行下来没报错呀,什么错误提示都没有,正常运行……
作者: liqudely    时间: 2015-1-12 16:39
类名,怎么可以小写类名,怎么可以小写
作者: 齐弦    时间: 2015-1-12 19:36
数组中多了个逗号
作者: Joseph_liuxh    时间: 2015-1-12 20:46
我看见类名是小写的,类名首字母一定要是大写的。
作者: da_chuan    时间: 2015-1-12 21:49
public是可以省略的啊
作者: 流星划过的黎明    时间: 2015-2-3 19:41
如果你你用的是docs命令行编译运行的话,请务必检查您的文件名和您的类名是否保持一致,如果不一致的话,运行的时候请用.class文件的名字调用java虚拟机运行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2