Exp.javaimport java.util.*;public class Exp{
       public static void main(String[] args){
        int num=0;
        jiecheng st = new jiecheng();
        for(int i=1;i<20;i++){
           num =num + st.jie(i);
        }
        System.out.println("jiecheng"+ num);
    }
} class jiecheng{
     public int jie(int x){
            int sum=1;
            for(int i=1;i<x;i++){
               sum=sum*i;
          }
          return sum;
        }
    }
 
环境路径设置如下:
   JAVA_HOME=C:\Program Files\Java\jdk1.6.0;
   path=%JAVA_HOME%\bin;
   classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;
我使用的代码如下,用的是jdk-6u21,在dos命令行下使用javac E:/Exp.java编译后成功,生成两个类文件:Exp.class和jiecheng.class,之后使用:java Exp.java就无法成功,老是报错:
C:\Documents and Settings\Administrator>java E:/Exp.java
错误: 找不到或无法加载主类 E:.Exp.java
这是为什么呢,如何解决???

解决方案 »

  1.   

    编译的是类,而不是类文件编译:javac E:/Exp.java
    运行:java Exp
      

  2.   

    javac E:/Exp.java
    java Exp编译针对*.java类文件
    执行针对包含main方法的java类,故不要带.java这个文件标识
      

  3.   

    我修改了一下命令:java Exp
    得到以下的错误:
    C:\Documents and Settings\Administrator>java Exp
    Exception in thread "main" java.lang.NoClassDefFoundError: Exp
    Caused by: java.lang.ClassNotFoundException: Exp
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: Exp.  Program will exit.
    这又是那个方面出错了???为什么会说没有找到主类?
      

  4.   

    把classpath=.;%JAVA_HOME%\lib改成这样看下  这个是类没找到  也就是说是环境没配好
      

  5.   

    import java.util.*;public class Exp {
    public static void main(String[] args) {
    int num = 0;
    jiecheng st = new jiecheng();
    for (int i = 1; i < 20; i++) {
    num = num + st.jie(i);
    }
    System.out.println("jiecheng" + num);
    }
    }class jiecheng {
    public int jie(int x) {
    int sum = 1;
    for (int i = 1; i < x; i++) {
    sum = sum * i;
    }
    return sum;
    }
    }
    java文件肯定是没有问题 
    你直接到你的 Exp.java的目录E:去 >cd  E:
    >E:
    >javac Exp.java
    >java Expjiecheng-2034435558
      

  6.   

    这个跟环境变量的设置有关系,重新设置一下,将classpa中.后的都去掉试试
      

  7.   

    去class文件目录下,再执行java试试,应该没问题
      

  8.   

    很晕,我怎么设置路径都出错,回归IDE后正常运行了。