Java中带有else的语法错误

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

}

以上是 Java中带有else的语法错误 的全部内容, 来源链接: utcz.com/qa/412283.html

回到顶部