黑马程序员技术交流社区

标题: 如下代码错误提示,如何解决 [打印本页]

作者: 尘埃落定    时间: 2014-7-23 14:15
标题: 如下代码错误提示,如何解决
本帖最后由 尘埃落定 于 2014-7-24 10:11 编辑

如下代码错误提示,什么问题?如何解决?
  1. /*重写object类中的equals方法示例。
  2. * */
  3. public class EqualsTest {
  4.         Demo_2 d1 = new Demo_2(5);
  5.         Demo_2 d2 = new Demo_2(6);
  6.         
  7.         boolean b = d1.equals(d2);
  8.         System.out.println(b);
  9.         /*错误提示:Multiple markers at this line
  10.         - Syntax error on token "b", VariableDeclaratorId expected after this
  11.          token*/
  12.         
  13.         Person_2 p = new Person_2();
  14.         boolean b1 = d1.equals(p);//
  15.         System.out.println(b1);
  16.         /*错误提示:Multiple markers at this line
  17.         - Syntax error on token(s), misplaced construct(s)
  18.         - Syntax error on token "b1", VariableDeclaratorId expected after this
  19.          token
复制代码



作者: 心者觉也    时间: 2014-7-23 17:25
主函数呢?
作者: springing    时间: 2014-7-23 17:56
关键的,你没截图
作者: 王石    时间: 2014-7-23 18:45
public boolean equals(Object obj) {
        if (this == obj)
                return true;
        if (obj == null)
                return false;
        if(obj instanceof Person){
                Person p=(Person)obj;
                return this.name.equals(p.name)&&this.age==p.age;
                                }
        return false;
}

//你的代码不全,要不你截图,你看看这个事复写equals
作者: ddewym123    时间: 2014-7-23 18:53
完整代码呢?
作者: shijianws    时间: 2014-7-23 19:01
没写在方法里,现在你的变量都是成员,但是system就提示编译不通过了
用主方法封装一下,马虎了吧
作者: 尘埃落定    时间: 2014-7-23 22:23
class Demo_2{
        private int num;
        Demo_2(int num){
                this.num = num;
        }
       
        public boolean equals(Object obj){//覆盖父类方法
                if (!(obj instanceof Demo_2)){//判断类型是否一致
                        return false;
                }
                Demo_2 d = (Demo_2)obj;//向下转型。
                return this.num==d.num;
        }
}
class Person_2{
       
}

补上缺少的代码,不好意思,不知道怎么没粘贴完整
作者: 尘埃落定    时间: 2014-7-23 22:27
以下为完整的代码;

  1. /*重写object类中的equals方法示例。
  2. * */
  3. public class EqualsTest2 {
  4.         Demo d1 = new Demo(5);
  5.         Demo d2 = new Demo(6);
  6.        
  7.         //System.out.println(d1.toString());
  8.         System.out.println(d1.equals(d2));
  9.         /*错误提示:Multiple markers at this line
  10.         - Syntax error on token "b", VariableDeclaratorId expected after this
  11.          token*/
  12.        

  13.         /*
  14.         Person p = new Person();
  15.         boolean b1 = d1.equals(p);//
  16.         System.out.println(b1);

  17.         */
  18.         /*错误提示:Multiple markers at this line
  19.         - Syntax error on token(s), misplaced construct(s)
  20.         - Syntax error on token "b1", VariableDeclaratorId expected after this
  21.          token
  22.           */
  23.        
  24. }

  25. class Demo{
  26.         private int num;
  27.         Demo(int num){
  28.                 this.num = num;
  29.         }
  30.        
  31.         public boolean equals(Object obj){//覆盖父类方法
  32.                 /*
  33.                 if (!(obj instanceof Demo)){//判断类型是否一致
  34.                         return false;
  35.                 }
  36.                 Demo d = (Demo)obj;//向下转型。
  37.                 */
  38.                 return this.num==d.num;
  39.         }
  40. }
  41. class Person{
  42.        
  43. }
复制代码





作者: 关度飞    时间: 2014-7-23 23:52
心者觉也 发表于 2014-7-23 17:25
主函数呢?

楼主,没有主函数哦:P
作者: springing    时间: 2014-7-24 00:08
。。。你这写的是什么,没有主函数。。没法执行啊。。。public修饰了那个类了,还可能有主函数那个类出现吗?
作者: springing    时间: 2014-7-24 00:10
是不是在和包含这段代码的文件  同一个包下面的另外一个class文件,只有这种可能了。,你去找一下,再发,不然也不会报这种错误
作者: 尘埃落定    时间: 2014-7-24 10:07
关度飞 发表于 2014-7-23 23:52
楼主,没有主函数哦

忘记主函数了{:3_60:}
我快受不了我自己了......
作者: chen010yu    时间: 2014-7-24 13:06
JVM(Java虚拟机)都找不到程序的入口,也就是main函数




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2