程序如下:
Account_ex.java
package my;
import my.*;public class Account_ex
{
public static void main(String args[])
{
Complex a = new Complex(1,1);
System.out.println(a.toString());
}}Complex.javapackage my;interface ToString
{
public final static float PI = (float)3.14;
public abstract String toString();
}public class Complex implements ToString
{
private int imag, real;
public Complex(){this(0,0);}
public Complex(int r,int i){imag = i; real = r;}
public Complex(Complex temp){this(temp.real, temp.imag);}
public String toString(){return real*PI+"+"+imag+"i";}
static public Complex add(Complex x, Complex y)
{
Complex temp = new Complex(x.real+y.real,x.imag+y.imag);
return temp;
}
static public Complex sub(Complex x, Complex y)
{
Complex temp = new Complex(x.real-y.real,x.imag-y.imag);
return temp;
}
static public Complex mul(Complex x, Complex y)
{
int real = x.real*y.real - x.imag*y.imag;
int imag = x.real*y.imag + x.imag*y.real;
Complex temp = new Complex(real,imag);
return temp;
}
static public Complex div(Complex x, Complex y)
{
//if ( y.real*y.real - y.imag*y.imag == 0 )
int tmp = y.real*y.real - y.imag*y.imag;
int real = (x.real*y.real + x.imag*y.imag)/tmp;
int imag = (x.imag*y.real - x.real*y.imag)/tmp;
Complex temp = new Complex(real,imag);
return temp;
}
public boolean compare(Complex y)
{
return (real==y.real)&&(imag==y.imag);
}
}
可以通过编译,运行就出错了,错误提示如下:
---------- Java ----------
java.lang.NoClassDefFoundError: Account_ex (wrong name: my/Account_ex)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
Could not find the main class: Account_ex.  Program will exit.
Exception in thread "main" 
输出完毕 (耗时 0 秒) - 正常终止
网上说过是环境变量的问题,但是我设置没问题,而且如果不用package跟import是正常运行的。请问是什么原因

解决方案 »

  1.   

    只看这一句java.lang.NoClassDefFoundError: Account_ex (wrong name: my/Account_ex)
    没有找到类: my/Account_ex,你看你的这个类文件:Account_ex是写在my包下面吗,如果是的话,你这文件头有没有package my;
      

  2.   

    Account_ex.java跟Complex.java跟my是在同一个目录的。
    更正一下Account_ex.java:package my;
    import my.*;
    public class Account_ex
    {
    public static void main(String args[])
    {
    Complex a = new Complex(1,1);
    System.out.println(a.toString());
    }}
      

  3.   

    如果在同一个类包下的话,不IMPORT也是可以的,所以极有可能是你有个类放的围子不对
    java.lang.NoClassDefFoundError: Account_ex (wrong name: my/Account_ex)
      

  4.   

    Donde Voy Java 群组
    1号: 82085373
    2号: 55191814
    3号: 89238748
    4号: 56418364
    5号: 157181129
    6号: 74671714请勿重复加群......
      

  5.   

    能不能写一个import的例子呢?