我的“其他”有两个错误,我不知道该怎么办。他们被标记为评论!!导入了“ Punto”和“ 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; }
您可以使用if and 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; }