一个莫名奇妙的错误
class Person{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
public boolean compare(Person per){
Person p1=this;
Person p2=per;
if(p1==p2){
return true;
}
if(p1.name.equals(p2.name)&&p1.age==p2.age){
return true;
}else{
return false;
}
}
public class Demo{
public static void main(String []args){
Person p1=new Person("sunxiaolong",35);
Person p2=new Person("nixiaohuan",26);
if(p1.compare(p2)){
System.out.println("想等");
}
else{
System.out.println("不相等");
}
}
}
}总是提示没有main函数,能解决此问题给最高分
[解决办法]
总是提示没有main函数,能解决此问题给最高分
你如何写的命令?应该是
java Demo吧,你写的java Person?或者java Demo.class ?
[解决办法]
+1
class Person{ private String name; private int age; public Person(String name,int age){ this.name=name; this.age=age; } public boolean compare(Person per){ Person p1=this; Person p2=per; if(p1==p2){ return true; } if(p1.name.equals(p2.name)&&p1.age==p2.age){ return true; }else{ return false; } } }public class Demo{ public static void main(String []args){ Person p1=new Person("sunxiaolong",35); Person p2=new Person("nixiaohuan",26); if(p1.compare(p2)){ System.out.println("想等"); }else{ System.out.println("不相等"); } }}
[解决办法]
javac Demo.java
java Demo
结果是不相等
[解决办法]
//基本语法错误,
class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public boolean compare(Person per) { Person p1 = this; Person p2 = per; if (p1 == p2) { return true; } if (p1.name.equals(p2.name) && p1.age == p2.age) { return true; } else { return false; } }}public class Demo { public static void main(String[] args) { Person p1 = new Person("sunxiaolong", 35); Person p2 = new Person("nixiaohuan", 26); if (p1.compare(p2)) { System.out.println("想等"); } else { System.out.println("不相等"); } }}
[解决办法]
public static void main(String []args)
public static void main(String[] args)
自己看看。
[解决办法]
public class Demo前面少了一个“}”。
[解决办法]
class Person{private String name;private int age;public Person(String name,int age){this.name=name;this.age=age;} public boolean compare(Person per){ Person p1=this; Person p2=per; if(p1==p2){ return true; } if(p1.name.equals(p2.name)&&p1.age==p2.age){ return true; }else{ return false; }}}//括号加在这里 最后的去掉 public class Demo{ public static void main(String[] args){ Person p1=new Person("sunxiaolong",35); Person p2=new Person("nixiaohuan",26); if(p1.compare(p2)){ System.out.println("想等"); } else{ System.out.println("不相等"); } } }
[解决办法]
class Person{private String name;private int age;public Person(String name,int age){this.name=name;this.age=age;} public boolean compare(Person per){ Person p1=this; Person p2=per; if(p1==p2){ return true; } if(p1.name.equals(p2.name)&&p1.age==p2.age){ return true; }else{ return false; }}}//括号加在这里 最后的去掉 public class Demo{ public static void main(String[] args){ Person p1=new Person("sunxiaolong",35); Person p2=new Person("nixiaohuan",26); if(p1.compare(p2)){ System.out.println("想等"); } else{ System.out.println("不相等"); } } }
[解决办法]
class Person1{private String name;private int age;public Person1(String name,int age){this.name=name;this.age=age;}public String getname(){ return name;} public boolean compare(Person1 per){ Person1 p1=per; Person1 p2=per; if(p1==p2){ return true; } if(p1.name.equals(p2.name)&&p1.age==p2.age){ return true; }else{ return false; }}} class Demo{ public static void main(String []args){ Person1 p1=new Person1("sunxiaolong",35); Person1 p2=new Person1("nixiaohuan",26); if(p1.compare(p2)){ System.out.println("想等"); } else{ System.out.println("不相等"); } } }
[解决办法]
首先遇到这种问题你应该先考虑是代码括号的匹配问题,你可以把每个函数折叠一下从而查找mian函数所在的位置,进而解决问题。
其次,作为一个程序员我们应该养成良好的编程习惯,这个需要从开始的时候就要加强,每个括号放在哪里,this在什么地方用等等。自己喜欢什么样的代码格式等等,这样就不容易出现很莫名的错位。