用户名:  密码:   
您当前的位置:首页 > 

MyExlipse的一些编译错误和解决方法

上次修改时间: 2024-06-16 10:05:27      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\Java相关\HanSunPing_java\      下一页

MyExlipse的一些编译错误和解决方法

 

This method requires a body instead of a semicolon //这些方法需要一个主体而不是分号
解决方法:去掉public void sort(int arr[]); 后面的分号
 
arr cannot be resolved //arr没有定义,原因是arr没有定义
问题一: public void find(int leftIndex,int rightIndex, int val,int arr[]) //原因开始这句里少了int arr[]
问题二: 编译运行程序没问题,点菜单开始游戏,就提示这个这种,显示源码中所有调用的Recoder这个类都有问题
 原因是这个类private Vector<EnemyTank> ets = new Vector<EnemyTank>();
  public void setEts(Vector<EnemyTank> ets1) { //就是把这里的ets1改为ets
  this.ets = ets1;}  //把这里的ets1改为ets
问题三:没有引3个jar包,所有sql语句相关的也会提示这个
3. 提示:java.lang.ArrayIndexOutOfBoundsException错误 //数组下标越界异常,ArrayIndex数据下标,OutOfbounds出界,越界,exception导常
  for(int i=0; i<4; i++)  { //行
    for(int j=0; i<6; j++) //列 出错原因:输出二维数组这里的i<6应改为j<6,
5. 提示:The constructor Clerk(string) is undefined //构造函数Clerk(string)没有定义,注:实际已类型类和类型
解决方法:将Clerk clerk2 = new Clerk("吴用",45,1200);  中的中文逗号改为英文
 以下两句都有波浪线提示:The constructor JDialog(Frame,  String boolean) is undefined
 句1:super(owner, title, modal);
 句2:StuAddDialog sa= new StuAddDialog(this, "添加学生", true);
 原因是多了这句:import com.sun.org.apache.bcel.internal.verifier.structurals.Frame; ,将这句注销就可以了
6. 以下两句代码上一句编译错误,后一句正确,后来还是分别保存在txt中多换几行用TM才找出它们的区别。
 Emp emp = new Emp("s001","aaa",3,4f);  //注意这里的3,4f中间是逗号,所以出错。 
 Emp emp = new Emp("s001","aaa",3.4f);
7.提示: Syntax error on token "else", delete tihs token. //在else符号处有语法错误,删除这个符号,去掉if后的分号就可以了
  if(hm.containsKey("s002")); 
  {
   System.out.println("有该员工");
  }else{
8. 提示:Unhandled exception type IOException。//未经处理异常类型是IO,表这句代码要加入异常处理的块。即要在外面加入try..catch
9. 提示:java.lang.NullPointerException,在教程Demo8_6制作密码输入框编译时提示这个错误
 jp3.add(jb1); //原因是这里的jb1没有实例化,在加面加上jb1 = new JButton(“确定”);
10. 提示:Implicit super constructor Tank() is undefined. Must explicitly invoke another constructor
 public Hero(int x, int y) { 
  super(x,y); //要这句,大概是意思这里子类构造函数不用定义,用父类的
 } //还有可能是构造函数名和类名拼写的不一样,如这里的Hero要和类名一样,我就拼错过

11. 提示 javax.imageio.IIOException: Can't read input file!错误:
原因:是图片路径中不能有英文的点.,直接将图片复制到工程下的包下了,我的包名是com.test这导致图片路径中有英文的.
解决方法:将图片直接放在工程名下,而不是包下,因为工程名没英文的点,包名有英文的点
//注:当包名和工程名下都有时也会出错,因为会优先读取包名下文件
如:将bomb_1.gif放在工程名下,代码改为:image1 = ImageIO.read(new File("bomb_1.gif"));即可。

12.提示java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServer.SQLServerDriver
解决方法:是需要引用jar包,开始这里写错Class.forName("com.microsoft.jdbc.sqlserver.SQLServer.SQLServerDriver");
 改为Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
 距说连sql2008还要改为:com.microsoft.sqlserver.jdbc.SQLServerDriver
jar包在那里找:先到http://www.jb51.net/softs/234108.html下载安装SQL Server 2000 Driver for JDBC SP3.exe //安装到mssql所在电脑
 然后在C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib目录可以找到三个jar包:msbase.jar mssqlserver.jar, msutil.jar
 将三个包复制到MyEclipse所在电脑任意目录:右击工程名——properties——Java Build Path——Libraries——Add External JARs...
  浏览到3个jar包,全选——打开,就导入了这三个包
13. 右击运行代码提示: Launching Test2(2)(Time of error:May 24,2017 7:32:59 PM GMT+0800)Reason:Check the details
原因:公司的电脑引入了jar,同步后,家里的电脑找不到jar,解决是将jar放在相同的路径下

14. Bad version number in .class file的解决方法
 Project->clean,清除以前不同版本编译的重新编译一次
15. Resouce is out of sync with the file system: 原因是可以在其它文件中编辑过了
 右击工程目录——刷新
16. 提示:The type Timer is ambiguous //定时器这个类型是不明确的
 解决:什么也没改就把 t=new Timer(1000,this);这句重写了一遍就可以了
**17.提示:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'clerkInfo' 无效。
 但数据库明明有clerkInfo这个表
 伤心啊:找正常的代码,和不行的代码存成两个在TM中一行一行比较,弱于找到原因了String
 错误的代码:String url="jdbc:microsoft:sqlserver://192.168.233.129:1433;dtabaseName=restaurant";
 正确的代码:String url = "jdbc:microsoft:sqlserver://192.168.233.129:1433;databaseName=restaurant";
 原因:错误的代码把databaseName写成了dtabaseName,而且ME软件检测不出来
18. 提示:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
 原因是端口被占用,我用的9988,VM虚拟机也在用这个端口
19. 提示:Duplicate field MessageType.message_get_onLineFriend 重复字段,消息类刑