duda sobre el return
Publicado por Javier (2 intervenciones) el 20/07/2016 04:00:48
A la hora de intentar desarrollar un método tengo problemas con el return. La verdad no se donde esta el error. Os dejo abajo el metodo que he desarrollado por si me podéis decir cual es el error.
En los dos metodos tengo el mismo fallo que creo que es que no me detecta el return.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/**
* Devuelve la siguiente carta que siguea esta en orden, o
* null si no tiene una siguiente (si esta carta es el REY
* DE BASTOS). El orden a tener en cuenta es OROS, COPAS,
* ESPADAS y BASTOS, y para cada palo en orden creciente de
* su valor.
*/
public Carta siguiente() {//Posible duda sobre el return.
if(this.valor<7){
this.valor++;
return new Carta(this.valor,this.palo);
}else if(this.valor==7){
this.valor=10;
return new Carta(this.valor,this.palo);
}else if(this.valor>=10&&this.valor<12){
this.valor++;
return new Carta(this.valor,this.palo);
}else if(this.valor==12){
if(this.palo<3){
this.valor=1;
this.palo++;
return new Carta(this.valor,this.palo);
}else{
return null;
}
}
}
/**
* }Devue}lve true si y solo si esta carta mata a otraCarta
* cuando el triunfo es el especificado por el valor del
* parámetro triunfo, de acuerdo con la siguiente codificación:
* OROS=0, COPAS=1, ESPADAS=2, BASTOS=3.
* Considerando que esta carta es mano (lanza primero), solo
* sera superada por la otra carta si esta última es del mismo
* palo y tiene puntuación superior o es triunfo (siendo que
* no lo era esta carta).
*/
public boolean puedeMatar(Carta otraCarta, int triunfo) {
if(this.palo!=otraCarta.palo()&&otraCarta.palo!=triunfo){
return true;
}else if(this.palo==otraCarta.palo){
if(puntuacion()>otraCarta.puntuacion()){
return true;
}else if(puntuacion()<otraCarta.puntuacion()){
return false;
}else if(puntuacion()==otraCarta.puntuacion()){
if(this.valor>otraCarta.valor()){
return true;
}else{
return false;
}
}
}else if(this.palo!=otraCarta.palo()&&otraCarta.palo==triunfo){
return false;
}
}
Valora esta pregunta


0