A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码没有错运行时总是有异常!
文件名为123.java
请看源代码:
class Demo{

public static void main(String[] args){

  System.out.println("Hello World!");
}

}

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
楼主 运行时的java文件要和你的类名一样的
回复 使用道具 举报
命名规则:由26个英文字母大小写,数字0-9,_,$等组成。不能以数字开头。不能与java的关键字重名。       
                *类和接口
                        **如果是由一个单词组成,那么单词首字母大写。例如:Demo,Student。
                        **如果是由多个单词组成,那么每个单词的首字母大写。例如:StudentDemo。
                *变量与方法
                        **如果是由一个单词组成,那么单词首字母小写。例如:main,show。
                        **如果是由多个单词组成,第一个单词首字母小写,其后每个单词的首字母大写。例如:showName。
                *常量
                        **如果是一个单词组成,那么所有单词全部大写。例如:MAX。
                        **如果由多个单词组成,每个单词大写,并且以下划线相连接。例如:STUDENT_MAX_AGE。
以上这些规则是标识符的一些命名规范,不这样写程序也可运行,但为了程序的规范性,最好这样书写。
java程序编译时是把java文件中的类编译成字节码文件,但是运行的时候是运行类(也就是生成的class文件)。楼主的文件名123.java而类文件是Demo,所以在运行的时候要运行Demo哦。

点评

大爱  发表于 2012-5-12 10:57

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
如果你用eclipse.exe 来写的话就肯定运行不了、因为你的文件名和类名不一致、就运行不了的。
但是你用命令符来运行就可以执行,理解就好了
回复 使用道具 举报
代码确实是没错的,那就是楼主自己的原因了,正如张孝祥老师说的那样“我始终坚信机器是不会错的,错的一定的人。”
运行时才出错,说明楼主的代码可以编译。
编译的时候是javac 123.java  会生成Demo.class 文件
运行的时候就要输入java Demo
系统执行的是那个字节码文件,就是你编译后生成的.class后缀的文件。
运行的时候不需要带.class后缀了。
本人猜测楼主出错的原因:
1、运行时输入的是javac Demo
2、运行是输入的是java Demo.class
3、运行时输入的是java 123
4、运行时输入的是java 123.java
5、运行时java后没有空格
以上几种情况是我刚写代码的时候经常出错的,不知道楼主是属于哪种情况。
我能想到的可能就这么多,希望能帮到楼主。我也是新人,一起加油噢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马