august 发表于 2007-5-21 06:35:29

java程序

程序如下:
public   classHelloWorld
{
    public   staticvoid   main( Stringargs[])
    {
          System.out.println("欢迎光临!");   
   }
}

保存为HelloWorld.java执行命令为:javacHelloWorld.java, 产生编译错误,请修改.

---------------------------------------------------------------------------------------------
C;\java>javacHelloWorld.java
HelloWorld.java :1:classHelloWorl   is   public,shouldbedeclaredin
HelloWorl.java
public   class HelloWorl

1error

c:\java>
---------------------------------------------------------------------------------------------

这是书上的题,但我真的看不出有什么问题, 到底错在哪里呢? 是不是书本的印刷出错呢?

cupid 发表于 2007-5-21 06:45:22

文件名要与代码中的HelloWorld完全一样
要完整的文件名 不是 HelloWorld.java.txt
如果隐藏了扩展名 就变成HelloWorld.java
那样当然会出错了

august 发表于 2007-5-21 06:56:04

报错中有说,文件名的后缀是 .txt 吗?

ultranet 发表于 2007-5-21 07:35:25

沒錯,能編譯和運行。

duzhi5368 发表于 2007-5-21 17:23:36

哈哈,因为java文件支持的最大有效命名是9位,所以,即使你命名类为 HelloWorld 但是由于超过了最大限制,系统默认将此类认为是 HelloWorl   注意,最后没有'd'.
所以,你只要将文件保存为HelloWorl.java,就OK了/

Zelsazgh 发表于 2007-5-21 18:06:34

调试成功,没有见到命名位限制的说,平台eclipse+JDK5.0

duzhi5368 发表于 2007-5-21 20:53:04

老版本的JDK是命名位限制的.
注意看他的错误报告:
HelloWorld.java :1: class HelloWorl   is   public, should be declared in HelloWorl.java
HelloWorl (注意没'd')类是公共类,所以JAVA文件名必须描述成HelloWorl.java(注意.也没'd')

Zelsazgh 发表于 2007-5-21 23:16:14

会不会有可能是他在里面写错了说.写成了HelloWorl?????

august 发表于 2007-5-22 14:51:47

原来还有命名长度限制这回事

狂人cr 发表于 2007-5-23 00:19:52

记得要保存为...java的,然后长度限制这代码里没有什么限制.类是什么也要命名为什么.
页: [1]
查看完整版本: java程序