HelloWorld(50分)

  • 主题发起人 主题发起人 dlmn
  • 开始时间 开始时间
D

dlmn

Unregistered / Unconfirmed
GUEST, unregistred user!
我的HelloWorld小程序如下:
class HelloWorld {
public static void main(String args[]){
System.out.println("Hello World");
}
}
用javac命令编译正常,生成HelloWorld.class后,运行java HelloWorld,系统出错,
提示说:can not find class HelloWorld
 
你设置类的路径没有啊?classpath=
 
我在autoexec.bat中设置
set CLASSPATH=d:/java/jdk1.2/classes;d:/java/jdk1.2/lib/classes.zip
可是我找不到名字为classes的文件,classes.zip倒是能找到,
 
JAVA版hello world全攻略
看到很多技术网站的BBS上面充斥着java初学者的关于运行第一个java程序的求助信息,我觉得作为“过来人“很有写这篇文章的必要,因为他们遇到的都是些很低级的问题,但是让这些问题占据bbs上那么多宝贵的空间就太不应该了。
要搞清楚的基本概念
java是一种跨平台的网络语言,为了能够在不同平台上运行,它使用了虚拟机这个概念。后缀名为java的文件是源代码文件,它经过编译后生成的是class文件。虚拟机执行的就是这些class文件,将它们转化成为不同平台能够运行的命令。这就是为什么java的效率比较低的原因。也是因为这个原因,在java里没有其它语言的使用者熟悉的exe文件的概念。
执行hello world的方法
切记:在命令行中输入 javac 源文件名.java (编译)
java 源文件名 (执行,没有后缀)
这里说的是java application,里面包括main函数。
如果hello world是applet版的,在命令行中输入appletviewer 源文件名 (已经编译后的class文件)
如果class文件已经嵌入了html网页中,直接用IE打开就行了。
application经常出现的错误
系统提示Exception in thread "main" java.lang.NoClassDefFoundError。出现这个提示的原因可能有:
1 你把文件名拼错了,java对大小写是敏感的。打错了当然找不到文件。
2 虚拟机没有找到必须的类库。你可能没有在autoexec.bat文件中设置classpath。进入windows的运行,输入sysedit,然后在autoexec.bat文件中加入这么一行:set classpath=你的jdk的安装目录/lib;
例如set classpath=c:/jdk1.3.0_02/lib;
保存退出后,你要在dos窗口的c根目录下执行一遍autoexec.bat文件已保证被设置了,当然,如果你愿意也可以重启机器。
系统提示HelloWorld.java:1: Public class helloworld must be defined in a file called
"HelloWorld.java".
public class helloworld{
^
一个Java源程序中可以定义多个类,但是,具有public 属性的类只能有一个,而且要与文件名相一致。还有,main方法一定要放在这个public
的类之中,这样才能运行这个类。
系统提示Exception in thread "main" java.lang.NoSuchMethodError: main 出现这个异常是因为你在抄书上的代码时抄错了。主函数一定要这么写:public static void main(String args[]) 一个字都不能错,切记!!!
applet常出现的错误
IE显示了一个灰色的区域,但是上面没有显示hello world,状态栏显示load:calss 你的class文件名 no found 。出现这个问题是因为IE没有找到applet(有点废话),你应该把class文件放在和html文件相同的目录下。如果class文件在该文件夹的子目录下,那么要这么写CODE= "子目录名.文件名.class"。
IE显示applet已经启动,但是还是只显示灰色的一块。这种问题在使用jBuilder等集成开发工具是最容易出现,用appletviewer就没有问题。这是因为你在applet中使用了IE不支持的java版本。jBuilder在做applet是默认使用了swing组件,但是IE只支持jdk1.1,所以造成了这种情况。只要把导入swing的语句去掉就行了,然后按照提示修改一下代码,不要用swing组件的方法。如果你觉得swing组件很漂亮,打死都要用,那么就装一个java的plug-in这个东西在你装jdk的高版本时就自动装上了。看看你的控制面版中有没有那个红鼻子的小东西。但是切记,如果你要用它,那么你的html的文件的写法就和从前不一样了,不能简单的用CODE来指明类了。至于怎么写,不在这篇文章的讨论范围内了(你写一个hello world还要用plug-in就搞大了)。网上有很多文章讲怎么写。
怎么实现点击就执行
用惯了点击就执行的的exe文件自然就很不习惯打开dos窗口输入命令行,你可以把它做成jar文件,但是对hello world来说有点麻烦,有个简单的傻办法:自己做一个批处理文件。例如:用记事本写一个run.txt文件,内容是:java 你的主文件名 ,然后把后缀改成bat存到和主文件相同的目录下。呵呵,双击就运行了,够傻吧。
如果你非要用exe文件运行,jet等工具可以把class文件做成exe文件。但是这样也失去了java的跨平台性。
以上就是hello world的全攻略了,如果你还看不到“hello world“,我倒!你还是别学java了。

wearebug@etang.com
 
把java文件不放在bin目录下,如何执行java命令
执行javac命令可以用
javac 目录/HelloWorld.java
而执行
java 目录/HelloWorld
是个美丽的错误
 
你做错了两点,
其一:你需要在classpath中加入你在class文件所在的目录,通常是加"."表示
当前目录,这样你当前目录下的class都能被jdk找到,其他不在当前目录而又必须要用到的class
文件就只有明确加入在classpath中去了。
其二:使用java dir/class的方式执行class时,dir会被当成是那个class的包名,看一看package
的说明你就明白了,所以你只能在classpath中加入class所在的路径或是加"."后到那个目录去执行。
最后,建议你先多看看java的入门书籍,这样的问题应该是由你自己去寻找答案而不是去问别人,
不要急于求成,自己努力找到的答案才能让自己进步得更快。
 
后退
顶部