首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

哪位高手能帮小弟我解决JAVA这个有关问题 编译时没错 但是运行时就出错了

2012-02-07 
谁能帮我解决JAVA这个问题 编译时没错 但是运行时就出错了下面的是我按课本上的程序编写的例子我机子上装

谁能帮我解决JAVA这个问题 编译时没错 但是运行时就出错了
下面的是我按课本上的程序编写的例子     我机子上装的是JAVA1.5  

import   java.io.*;
import   java.io.IOException;
public   class   Sayit{
          public   static   void   main   (String[]     args)   throws   IOException{
          InputStreamReader     reader=new   InputStreamReader(System.in);
          BufferedReader           input   =new   BufferedReader(reader);
          System.out.print( "Enter   you   name: ");
          String     name=input.readLine();
          System.out.println( "Hello, "+name+ "! ");
          }
                   
    }
我编译时没出现错误
Exit   code:   0
No   Errors

但是我紧接着运行时就出现下面的提示:
java.lang.NoClassDefFoundError:   Sayit
Exception   in   thread   "main "   Exit   code:   1
There   were   errors
哪位大虾帮我解决下   谢谢!

[解决办法]
我的异常网推荐解决方案:java环境变量设置,http://www.myexception.cn/java-other/172921.html
[解决办法]
我运行了
没有问题
[解决办法]
我运行怎么没有错误
init:
deps-jar:
Deleted 6 out of date files in 0 seconds
Compiling 1 source file to D:\projects\test\build\classes
compile:
run-single:
zhou
Enter you name:Hello,zhou!
BUILD SUCCESSFUL (total time: 46 seconds)

这是在NB6.0下的结果,


[解决办法]
java.lang.NoClassDefFoundError: Sayit
---------------------
是因为没有找到Sayit.class这个文件
编译时应该确认大小写,再看看有没有生成这个类文件
[解决办法]
在用户变量里面设置路径只是对当前用户有用,而在系统变量里面设置对所有用户都有用, PATH应该是设置为BIN路径,这样BIN目录下的那些命令才可以直接运行。
你的程序我也可以运行,不太清楚为什么你不可以
[解决办法]
找不到你编译的CLASS类而已
在CLASSPATH中设置路径
或直接在命令行中用-classpath 就可以了
[解决办法]
你是不是运行时输入的javac Sayit? 要运行请用java Sayit
[解决办法]
java
麻烦
[解决办法]
是的!那个程序是对的,
[解决办法]
你的文件名和类名要一致
[解决办法]
既然有人运行成功了,只能是环境变量设的不对了,应该是:
“.;E:\java\jdk1.5\lib\dt.jar;E:\java\jdk1.5\lib\tools.jar”
[解决办法]
程序是没有bug的。
你的编译时环境没有错,打算运行时环境变量没设置好。
具体如下:
我的电脑--》属性---> 高级---》环境变量
找到classpath 如果没有的话 自己增加一个classpath
然后设置为 “.;c:\java\jdk1.5\lib\dt.jar;c:\java\jdk1.5\lib\tools.jar”
(这里假设你的jdk是装在c盘的java下,如果不是找到你自己的安装路径换过来,前面这个“.”是一定要的,表示当前路径,没有它就不能在当前路径运行了,你肯定就是这个问题)

[解决办法]
LZ,我也碰到过你一样的问题,我写了一个非常简单的JAVA类,类似HELLOWORLD一样的程序,在我的机子上运行(在命令行中运行)也出现你一样的问题,我的JDK也是1.5的,然后拿到我同事的机子(他的是1.4的.)上运行却没有任何问题.所以我也认为是版本的问题,但在IDE中却没有出现这种问题,只是在命令行中会出现这种错误,我敢保证一切设置都没有错误,但就是出现你一样的错误,不知道新出的JDK1.6有没有这样的问题,当时装完JDK1.5,出于好奇,在命令行试了一下,始终出现那样的错误,搞的我重装了好几次,问题都没有解决,我也怀疑是版本的问题.随着JDK版本的升级,大家也热衷于在IDE中调试程序,所以很少发现这样的问题.所以楼上那么多的兄弟讨论了那么多,我认为都是有点浪费了时间,又是配置不对,又不路径不对,其实没有那么复杂,所以在这里,烦请哪位兄弟花点时间,去证明一下,用JDK1.5的版本在命令行中调试一个最简单的程序,若能调试成功,烦请告诉论坛的兄弟一下.


[解决办法]
Sayit 是在e:\java\jdk1.5\lib下的程序 不是文件夹
进入到命令行:e:\java\jdk1.5\lib
在这个命令行下输入java Sayit.....
说java不是内部命令或外部命令...
但是在C:\Documents and Settings\Administrator> 下用java YH(上面的洋灰3角程序)能运行java Sayit就运行不了
-------------------------------------
肯定是环境变量设置得不对。
[解决办法]
这个程序的确没有错误
你只要配置 path就行了,它是系统变量应配置为C:\Program Files\Java\jdk1.5.0\bin;
如果你把java 程序拷到c盘根目录下
必须打入命令cd c:\
然后运行javac Sayit.java
再运行java Sayit

[解决办法]
你的CLASSPATH设置是错的.
要运行你的.class文件就要把该CLASS文件所在的路径拷贝到CLASSPATH中.这样运行java Sayit时虚拟机才能找到Sayit.class这个文件.
也就是说PATH的设置是让你的操作系统找到java.exe,javac.exe等在哪里.也就是PATH设置以后javac和java这两个指令才有效.
CLASSPATH的设置是保证java虚拟机能找到你的.class文件,这时运行java Sayit就能够成功(即因为你的PATH设置对了所以 "java "有效,因为CLASSPATH设置对了所以虚拟机找到了Sayit.class)这样java Sayit就能成功.
[解决办法]
又是环境变量的问题,建议楼主先把这搞清楚再研究别的,不然你会越来越感到吃力的

热点排行