|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。今天早晨,我乐成运转了我的第一个java程序。十分的冲动,第一次啊。冲动之余仍是有一点要提示本人大概和我一样方才入手下手java进修的伴侣。
实在今天早晨我已乐成的编译了HelloWorld(最典范的程序,我的一切的编程言语的进修都是从她入手下手的),可是在运转的时分呈现了上面的毛病:
Exceptioninthread"main"java.lang.NoSuchMethodError:HelloWord/class
甚么缘故原由呢?我上彀搜刮办理办法搜到上面的文章:
问HelloWorld成绩的人其实是太多了,并且常常都以“问一个最复杂的成绩”开首。其
实回忆一下,本人也是从这个阶段过去的,说一句“你好”,真的是一个最复杂的成绩
吗?...//think好了,言回正传,letssay"HelloWorld!"injava...
起首,我们要假定一下我们的平台是Windows+JDK(Linux情况下也差未几)。这个情况
是相称广泛、基本和进门的。断定已准确安装JDK了,下一步是不寒而栗地敲进某本教
程上的HelloWorld源码,存盘,然后编译,javac...成绩来了:
*毛病1:
javac不是外部或内部命令,也不是可运转的程序或批处置文件。
(javac:Commandnotfound)
发生的缘故原由是没有设置好情况变量path。Win98下在autoexce.bat中到场path=%path%;c:jdk1.2in,Win2000下则把持面板->体系->初级->情况变量->体系变量...看到了?双击Path,在前面加上c:jdk1.2in。固然我们假定JDK安装在了c:jdk1.2目次下(有点唐僧了?)...仿佛还要重启体系才起感化...(//晓得了!//西红柿)好,再尝尝!javacHelloWorld
*毛病2:
HelloWorldisaninvalidoptionorargument.
奉求,给点专业精力,java的源程序是必定要存成.java文件的,并且编译时要写全.java呀。
OK,javacHelloWorld.java(这回总该成了吧?)
*毛病3:
HelloWorld.java:1:Publicclasshelloworldmustbedefinedinafilecalled
"HelloWorld.java".
publicclasshelloworld{
^
这个成绩嘛,是由于你的类的名字与文件的名字纷歧致。(谁说的,明显看到人家都有如许写的()OK,正确地说,一个Java源程序中能够界说多个类,可是,具有public属性的类只能有一个,并且要与文件名相分歧。另有,main办法必定要放在这个public的类当中,如许才干java(运转)这个类。别的一点是Java言语内里是严厉辨别巨细写的,初学者要注重呀。像上例中helloworld与HelloWorld就以为是纷歧样,因此...oh...好,改好了,嘻嘻...javacHelloWorld.java...(咦,怎样甚么也没有呀?)//faint这就是编译经由过程了!看看是否是多了一个HelloWorld.class?(hehe..按书上教的:)javaHelloWorld(!!这个我晓得,不是javaHelloWorld.class哟)
*毛病4:
Exceptioninthread"main"java.lang.NoClassDefFoundError:HelloWorld呵呵,这个嘛,就是出名的类路径(classpath)成绩啦。实践上,类路径是在编译历程就触及的Java中的观点。classpath就是指明往那里找用到的类,就这么复杂。因为我们的HelloWorld没用到别的的(非java.lang包中的)类,以是编译时没碰到这个成绩。运转时呢,就要指明你的类在那里了。办理办法嘛,能够用上面的命令运转:
java-classpath.HelloWorld“.”就代表以后目次。固然如许做有点贫苦(是“太贫苦”!),我们能够在情况变量中设置默许的classpath。办法就照上述设置path那样。将classpath设为:
classpath=.;c:jdk1.2libdt.jar;c:jdk1.2lib ools.jar前面的两个倡议也设上
,今后开辟用的着。java-classpath.HelloWorld(再不出来我就不学java了)
*毛病5:
Exceptioninthread"main"java.lang.NoSuchMethodError:main
(//咣当)别,保持住。看看你的代码,成绩出在main办法的界说上,写对中央了吗,
是如许写的吗:
publicstaticvoidmain(Stringargs[]){//一个字都不要差,先别问为何了...
对,包含巨细写!
java-classpath.HelloWorld(任天由命了!)
HelloWorld!
(faint!终究...)
接待离开Java天下!以是说,没法运转HelloWorld真的并非一个“最复杂的成绩”。
附:HelloWorld.java
//HelloWorld.java
publicclassHelloWorld{
publicstaticvoidmain(Stringargs[]){
System.out.println("HelloWorld!");
}
哈哈找到关键了,毛病5,但是作者提到的毛病我都没有错,怎样办?对着本人的程序看了半天,终究我发明我在运转javaHelloWorld时,为了费事,我在输出“javaHel…”后,为了费事,间接按下Tab键,不可思议命令成了这个模样:“javaHelloWorld.class”以是呈现了提醒中的毛病,由于java在运转编译的.class文件时是不克不及带后缀.class的(这是我厥后晓得的,事先不晓得),这件事让我分明了:越是最细节性的成绩越简单被忽略,而如许的忽略又是最难被发明的,以是写程序必需把心放在最简单无视的中央。写下这篇文章来提示本人和像我一样的伴侣,但愿今后不会再有如许的忽略。(这对程序员多是致命的)
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。 |
|