新手请教,今天突然无法编译java文件了。

koutan 2007-05-02 05:35:01
源码如下:
===========================================================================
class Hello
{
public static void main(String args[])
{
System.out.println("Hello");
}
}
===========================================================================
下面是运行后的出错信息。的确有点莫名其妙!!

C:\Java\MyJava>javac hello.java
.\String.java:3: 需要 ';'
public static void main(String[] args) throws IOException String[]
^
.\String.java:3: 找不到符号
符号: 类 IOException
位置: 类 String
public static void main(String[] args) throws IOException String[]
^
.\String.java:3: 缺少方法主体,或声明抽象
public static void main(String[] args) throws IOException String[]
^
3 错误

如此简单的代码,我实在找不出哪里错了,而且搞了一下午,估计是环境有问题,但是还是搞不定。。。
请教各位,多谢!!!
...全文
423 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rong451 2007-06-11
  • 打赏
  • 举报
回复
跟楼主开个贴(与楼主问题相似):请教下大家
public class hello {
public static void main(String[] args){
String line ="hello world,这是第一个java小程序";
System.out.print(line);
}
}
代码是这样的
为什么,我在 c:\j>javac hello.java
c:\j>
没有出现结果呢
环境变量是:
path C:\Program Files\Java\jdk1.6.0\bin
CLASS_PATH .;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;C:\Program

Files\Java\jdk1.6.0\lib\tools.jar
class_phth后面必须跟这两个路径吗?
FBjq 2007-05-03
  • 打赏
  • 举报
回复
5楼的,文件中有多个类时,main()方法要放在public声明的类里.
文件名最好取成同类名一样(大小写)虽说有时一个文件中只包含一个类时不取成类名也能编译通过(可能是JDK版本的问题,或是BUG吧,但确实存在该情况,不过最好不要这样),但用javac命令编译时输入的文件名不需要区分大小写,当然,这是在windows系统下.不过在用java命令执行class字节码文件时必须使用同类名一致.
koutan 2007-05-03
  • 打赏
  • 举报
回复
谢谢各位的回复。我先来解决两个问题:
1 javac Hello.java 、javac hello.java 是等效的,因为编译时,是编译一个文件,文件名是
不区别大小写的。所以这种错误我没有犯。再说同样文件名在一个文件夹下面不可能有两个。
2 类文件保存时候,名字似乎也不是强性的,只要能编译出类文件来,就可以。只是如果保存文件名和类文件不一致,反而我们容易犯错误。

public class Hello
{
public static void main(String args[])
{
System.out.println("Hello");
}
}

比如这个你保存文件名为a.java应该也能编译成功。。javac a.java
但是运行时候肯定不能用java a 因为你生产的类文件应该是 Hello.class 所以应该是java Hello而且大小写敏感!!!

我那个问题是系统问题,我多次安装删除sdk文件了,只有在个别java编程工具能通过,而直接javac却失败,估计是那些工具参数起了作用。多谢各位!!!
shorek 2007-05-02
  • 打赏
  • 举报
回复
一楼是对滴!但好久没用这个编译了!呵呵!
JAVA3VB 2007-05-02
  • 打赏
  • 举报
回复
一个类在定义时可以使用public加以修饰,一个.java文件中可以定义数个类,但只能有一个被声明为public,而这个文件名就要与这个声明为public的类名一致,程序从这个类入口(意思是必须main()方法必须也在这个类里,对于这点我不确定,刚才写了一个程序我觉的是这样,大家说我的说法正确吗?)。class A
{
public static void main(String args[] )
{
System.out.println("能行吗?");
}
}
public class B
{
public B()
{

}
 
 
}
就是以B.java文件保存也报错。看来main()方法也要放在这个类里。对此,求个解释,JAVA学习中!
infon 2007-05-02
  • 打赏
  • 举报
回复
javac Hello.java
约翰羊 2007-05-02
  • 打赏
  • 举报
回复
同意一楼
应该楼主编译另一个叫做hello.java的文件时报的错。
试试javac Hello.java


Jackeroo2007 2007-05-02
  • 打赏
  • 举报
回复
class Hello
{
public static void main(String args[])
{
System.out.println("Hello");
}
}


应该是:
public class Hello
{
public static void main(String args[])
{
System.out.println("Hello");
}
}
最好加个public当然楼上说的也要改正
a0158_cn 2007-05-02
  • 打赏
  • 举报
回复
C:\Java\MyJava>javac hello.java这句,应该是javac Hello.java,文件名和类名字大小写一致。试试看!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧