ecliplse调试程序报错

wq00168 2009-08-17 10:54:45
import java.util.*;
public class CloneTest
{

public static void main(String[] args)
{
try
{
Employee original = new Employee("John Q.Public",50000);
original.setHireDay(2000,1,1);
Employee copy = original.clone();
copy.raiseSalary(10);
copy.setHireDay(2002,12,31);
System.out.println("original="+original);
System.out.println("copy="+copy);

}
catch (CloneNotSupportedException e)
{
e.printStackTrace();
}

}

}

class Employee implements Cloneable
{
public Employee (String n, double s)
{
name=n;
salary=s;
}
public Employee clone() throws CloneNotSupportedException
{
Employee cloned = (Employee)super.clone();
cloned.hireDay = (Date)hireDay.clone();

return cloned;
}
public void setHireDay(int year,int month,int day)
{
hireDay= new GregorianCalendar(year,month-1,day).getTime();

}
public void raiseSalary(double byPercent)
{
double raise = salary*byPercent/100;
salary+=raise;
}
public String toString()
{
return "Employee [name="+name+",salary="+salary+",hireDay="+hireDay+"]";

}

private String name;
private double salary;
private Date hireDay;

}



报错为:Exception in thread "main" java.lang.NoSuchMethodError: Employee.setHireDay(III)V
at CloneTest.main(CloneTest.java:9)
不知道这个是什么原因?请各位XDJM看看,小弟谢谢了
...全文
167 21 打赏 收藏 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
notlogin 2009-08-17
  • 打赏
  • 举报
回复
clear一下呢?
邵钏 2009-08-17
  • 打赏
  • 举报
回复
把你的报错信息贴上来看一下吧
wq00168 2009-08-17
  • 打赏
  • 举报
回复
那这个程序是没有问题了,那是不是eclipse重新装一下
邵钏 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wq00168 的回复:]
你说这个会是什么问题,我这个问题在前面也碰到过,始终不能搞定它
[/Quote]

我在eclipse上运行了一下,一切正常,没有报错
pengpeng107 2009-08-17
  • 打赏
  • 举报
回复
没错呀!!!
wq00168 2009-08-17
  • 打赏
  • 举报
回复
你说这个会是什么问题,我这个问题在前面也碰到过,始终不能搞定它
wq00168 2009-08-17
  • 打赏
  • 举报
回复
import java.util.*;
public class CloneTest
{

public static void main(String[] args)
{
try
{
Employee original = new Employee("John Q.Public",50000);
original.setHireDay(2000,1,1);
Employee copy = original.clone();
copy.raiseSalary(10);
copy.setHireDay(2002,12,31);
System.out.println("original="+original);
System.out.println("copy="+copy);

}
catch (CloneNotSupportedException e)
{
e.printStackTrace();
}

}

}

class Employee implements Cloneable
{
public Employee (String n, double s)
{
name=n;
salary=s;
}
public Employee clone() throws CloneNotSupportedException
{
Employee cloned = (Employee)super.clone();
cloned.hireDay = (Date)hireDay.clone();

return cloned;
}
public void setHireDay(int year,int month,int day)
{
hireDay= new GregorianCalendar(year,month-1,day).getTime();

}
public void raiseSalary(double byPercent)
{
double raise = salary*byPercent/100;
salary+=raise;
}
public String toString()
{
return "Employee [name="+name+",salary="+salary+",hireDay="+hireDay+"]";

}

private String name;
private double salary;
private Date hireDay;

}
wq00168 2009-08-17
  • 打赏
  • 举报
回复
import java.util.*;
public class CloneTest
{

public static void main(String[] args)
{
try
{
Employee original = new Employee("John Q.Public",50000);
original.setHireDay(2000,1,1);
Employee copy = original.clone();
copy.raiseSalary(10);
copy.setHireDay(2002,12,31);
System.out.println("original="+original);
System.out.println("copy="+copy);

}
catch (CloneNotSupportedException e)
{
e.printStackTrace();
}

}

}

class Employee implements Cloneable
{
public Employee (String n, double s)
{
name=n;
salary=s;
}
public Employee clone() throws CloneNotSupportedException
{
Employee cloned = (Employee)super.clone();
cloned.hireDay = (Date)hireDay.clone();

return cloned;
}
public void setHireDay(int year,int month,int day)
{
hireDay= new GregorianCalendar(year,month-1,day).getTime();

}
public void raiseSalary(double byPercent)
{
double raise = salary*byPercent/100;
salary+=raise;
}
public String toString()
{
return "Employee [name="+name+",salary="+salary+",hireDay="+hireDay+"]";

}

private String name;
private double salary;
private Date hireDay;

}
邵钏 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wq00168 的回复:]
这个跟我的是一样的啊,可是就是有问题,我用eclipse运行编译的
[/Quote]

使用“插入源代码”功能,关键词高亮,这样看起来舒服些
wq00168 2009-08-17
  • 打赏
  • 举报
回复
在eclipse运行环境中,在class Employee implements Cloneable 这行显示已定义类型Employee
我就知道应该怎么改了?
musecangying007 2009-08-17
  • 打赏
  • 举报
回复
晕死,我在Eclipse试了试没报错啊
wq00168 2009-08-17
  • 打赏
  • 举报
回复
这个跟我的是一样的啊,可是就是有问题,我用eclipse运行编译的
邵钏 2009-08-17
  • 打赏
  • 举报
回复
import java.util.*;
public class CloneTest
{

public static void main(String[] args)
{
try
{
Employee original = new Employee("John Q.Public",50000);
original.setHireDay(2000,1,1);
Employee copy = original.clone();
copy.raiseSalary(10);
copy.setHireDay(2002,12,31);
System.out.println("original="+original);
System.out.println("copy="+copy);

}
catch (CloneNotSupportedException e)
{
e.printStackTrace();
}

}

}

class Employee implements Cloneable
{
public Employee (String n, double s)
{
name=n;
salary=s;
}
public Employee clone() throws CloneNotSupportedException
{
Employee cloned = (Employee)super.clone();
cloned.hireDay = (Date)hireDay.clone();

return cloned;
}
public void setHireDay(int year,int month,int day)
{
hireDay= new GregorianCalendar(year,month-1,day).getTime();

}
public void raiseSalary(double byPercent)
{
double raise = salary*byPercent/100;
salary+=raise;
}
public String toString()
{
return "Employee [name="+name+",salary="+salary+",hireDay="+hireDay+"]";

}

private String name;
private double salary;
private Date hireDay;

}
wq00168 2009-08-17
  • 打赏
  • 举报
回复
嗯,马上重装
doney_dongxiang 2009-08-17
  • 打赏
  • 举报
回复
俺也重试了一下啊,没有问题,估计楼主的eclipse需要重新安装一下啊
wq00168 2009-08-17
  • 打赏
  • 举报
回复
import java.awt.*;
import java.awt.Event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;
public class InnerClassTest
{


public static void main(String[] args)
{
TalkingClock clock = new TalkingClock(1000,true);
clock.start();
JOptionPane.showMessageDialog(null,"Quit pragram?");
System.exit(0);
}

}

class TalkingClock
{
public TalkingClock(int interval, boolean beep)
{
this.interval = interval;
this.beep = beep;
}
public void start()
{
ActionListener listener = new TimePrinter();
Timer t = new Timer(interval,listener);
t.start();
}
private int interval;
private boolean beep;

private class TimePrinter implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Date now = new Date();
System.out.println("At the tone,the time is "+now);
if(beep) Toolkit.getDefaultToolkit().beep();
}
}
}



这个报错:Exception in thread "main" java.lang.Error: 无法解析的编译问题:
ActionListener 无法解析为类型

at TalkingClock.start(InnerClassTest.java:29)
at InnerClassTest.main(InnerClassTest.java:13)
这个是什么原因?
wq00168 2009-08-17
  • 打赏
  • 举报
回复
哦,好的,谢谢
土地公公 2009-08-17
  • 打赏
  • 举报
回复
没有错啊。
notlogin 2009-08-17
  • 打赏
  • 举报
回复
菜单栏里有个 Project,中文的话是--项目,这个菜单里有个 clear 选项,然后clear一下你的项目,可以删除原来编译好的class,让Eclipse重新编译一下。

有时候是有这种事的,明明没错Eclipse却报错,clear一下就好了。
wq00168 2009-08-17
  • 打赏
  • 举报
回复
请问一下,怎么clear?具体命令是什么?
加载更多回复(1)

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧