我有两个错误" else"而且我不知道该怎么做。他们标有评论!! "蓬"和" Cuadrante"是进口的。还有一个枚举。
public static Cuadrante obtenerCuadrante (Punto p){
Cuadrante res = Cuadrante.EJE;
if (p.getX()>0 && p.getY()>0){
res = Cuadrante.PRIMER_CUADRANTE;
}else{
if (p.getX()>0 && p.getY()<0){
res = Cuadrante.CUARTO_CUADRANTE;
}else{ //Here appears an error: Syntax error on token "else".!!!!!!!!!!!!
if (p.getX()<0 && p.getY()>0){
res = Cuadrante.SEGUNDO_CUADRANTE;
}else{ //And here too.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if (p.getX()<0 && p.getY()<0){
res = Cuadrante.TERCER_CUADRANTE;
}else{
res = Cuadrante.EJE;
}
}
}
}
return res;
}
答案 0 :(得分:4)
您可以使用if和else if来实现您想要的目标
if(condition){
// if condition is true
} else if(condition1) {
// if condition1 is true & condition is false
} else if(condition2) {
// if condition2 is true & condition1 , condition is false
} else {
// if condition2, condition1 & condition is false
}
如果你可以拥有更多其他人。
您当前的代码缺少一些结束大括号}
,导致您有错误,可以修复如下:
public static Cuadrante obtenerCuadrante (Punto p){
Cuadrante res = Cuadrante.EJE;
if (p.getX()>0 && p.getY()>0){
res = Cuadrante.PRIMER_CUADRANTE;
} else {
if (p.getX() > 0 && p.getY() < 0) {
res = Cuadrante.CUARTO_CUADRANTE;
} else {
if (p.getX() < 0 && p.getY() > 0) {
res = Cuadrante.SEGUNDO_CUADRANTE;
} else {
if (p.getX() < 0 && p.getY() < 0) {
res = Cuadrante.TERCER_CUADRANTE;
} else {
res = Cuadrante.EJE;
}
}
}
}
return res;
}
另一种/更好的方法是:
public static Cuadrante obtenerCuadrante (Punto p){
Cuadrante res = Cuadrante.EJE;
if (p.getX()>0 && p.getY()>0){
res = Cuadrante.PRIMER_CUADRANTE;
} else if (p.getX()>0 && p.getY()<0){
res = Cuadrante.CUARTO_CUADRANTE;
} else if (p.getX()<0 && p.getY()>0){
res = Cuadrante.SEGUNDO_CUADRANTE;
} else if (p.getX()<0 && p.getY()<0){
res = Cuadrante.TERCER_CUADRANTE;
} else {
res = Cuadrante.EJE;
}
return res;
}
答案 1 :(得分:2)
可能你的代码应该是这样的:
public static Cuadrante obtenerCuadrante (Punto p){
Cuadrante res = Cuadrante.EJE;
if (p.getX()>0 && p.getY()>0){
res = Cuadrante.PRIMER_CUADRANTE;
}else if (p.getX()>0 && p.getY()<0){
res = Cuadrante.CUARTO_CUADRANTE;
}else if (p.getX()<0 && p.getY()>0){
res = Cuadrante.SEGUNDO_CUADRANTE;
}else if (p.getX()<0 && p.getY()<0){
res = Cuadrante.TERCER_CUADRANTE;
}else{
res = Cuadrante.EJE;
}
return res;
}
答案 2 :(得分:1)
你只能有一个人。
而不是这个
else{
if (p.getX()>0 && p.getY()<0){
res = Cuadrante.CUARTO_CUADRANTE;
}
这样做:
else if(p.getX()>0 && p.getY()<0){
res = Cuadrante.CUARTO_CUADRANTE;
}
为所有&#34;其他&#34;做同样的事情。除了最后一个&#34; else&#34;