Concaténation d'objets
Résolu
valgoku
Messages postés
213
Statut
Membre
-
valgoku Messages postés 213 Statut Membre -
valgoku Messages postés 213 Statut Membre -
Bonjour,
J'aimerai savoir s'il est possible de concaténer deux objets ?
Je m'explique :
public int verificationResultat(DeAJouer d1,DeAJouer d2,DeAJouer d3){
int chiffre=0;
int ok=0;
chiffre = Integer.valueOf("" + d1 + d2 + d3); <------ ICI PB !
if((chiffre == 124) || (chiffre == 142) || (chiffre == 214) || (chiffre == 241) || (chiffre == 412) || (chiffre == 421))
ok=1;
if((d1.getChiffre() == d2.getChiffre()) && (d2.getChiffre() == d3.getChiffre()))
ok=2;
if((chiffre == 211) || (chiffre == 311) || (chiffre == 411) || (chiffre == 511) || (chiffre == 611))
ok=3;
else{
ok = d1.getChiffre() + d2.getChiffre() + d3.getChiffre();
}
return ok;
}
Le but serait de prendre la valeur de d2, de la concaténer avec la valeur de d1, et apres de concaténer la valeur de d3 à la nouvelle valeur avec d2 et d1.
Or ce que je fais ici, cest une concaténation d'integer, or j'ai 3 objets appelés.
Le renvoie de la fonction importe peu, ca c'est pour moi !
et après je vérifie si "la nouvelle valeur" est égale à ...
Pourriez vous m'aider s'il vous plait ?
Merci d'avance !
ps : c'est un peu pressé ;)
J'aimerai savoir s'il est possible de concaténer deux objets ?
Je m'explique :
public int verificationResultat(DeAJouer d1,DeAJouer d2,DeAJouer d3){
int chiffre=0;
int ok=0;
chiffre = Integer.valueOf("" + d1 + d2 + d3); <------ ICI PB !
if((chiffre == 124) || (chiffre == 142) || (chiffre == 214) || (chiffre == 241) || (chiffre == 412) || (chiffre == 421))
ok=1;
if((d1.getChiffre() == d2.getChiffre()) && (d2.getChiffre() == d3.getChiffre()))
ok=2;
if((chiffre == 211) || (chiffre == 311) || (chiffre == 411) || (chiffre == 511) || (chiffre == 611))
ok=3;
else{
ok = d1.getChiffre() + d2.getChiffre() + d3.getChiffre();
}
return ok;
}
Le but serait de prendre la valeur de d2, de la concaténer avec la valeur de d1, et apres de concaténer la valeur de d3 à la nouvelle valeur avec d2 et d1.
Or ce que je fais ici, cest une concaténation d'integer, or j'ai 3 objets appelés.
Le renvoie de la fonction importe peu, ca c'est pour moi !
et après je vérifie si "la nouvelle valeur" est égale à ...
Pourriez vous m'aider s'il vous plait ?
Merci d'avance !
ps : c'est un peu pressé ;)
7 réponses
Implémente une fonction toString() sur ta classe DeAJouer.
Normalement, le cast en String se fera tout seul après ça.
;)
class DeAJouer {
// ...
public String toString() {
String s;
// ...
return s;
}
}
Normalement, le cast en String se fera tout seul après ça.
;)
valgoku
Messages postés
213
Statut
Membre
47
je vais essayer merci !
J'ai ca maintenant :
public int verificationResultat(DeAJouer d1,DeAJouer d2,DeAJouer d3){
int ok=0;
String nb;
nb = "" + d1.toString() + d2.toString() + d3.toString();
if((nb.equals("421")) || (nb.equals("412")) || (nb.equals("124")) || (nb.equals("142")) || (nb.equals("214")) || (nb.equals("241")))
ok=1;
if((d1.getChiffre() == d2.getChiffre()) && (d2.getChiffre() == d3.getChiffre()))
ok=2;
if((nb.equals("211")) || (nb.equals("311")) || (nb.equals("411")) || (nb.equals("511")) || (nb.equals("611")))
ok=3;
else{
ok = d1.getChiffre() + d2.getChiffre() + d3.getChiffre();
}
return ok;
}
Mais je ne pense pas que ca marche car c'est comme si ca prenanit tjr la valeur du else, c'est à dire que les comparaisons ne marchent pas.
La concaténation est elle bien faite ?
public int verificationResultat(DeAJouer d1,DeAJouer d2,DeAJouer d3){
int ok=0;
String nb;
nb = "" + d1.toString() + d2.toString() + d3.toString();
if((nb.equals("421")) || (nb.equals("412")) || (nb.equals("124")) || (nb.equals("142")) || (nb.equals("214")) || (nb.equals("241")))
ok=1;
if((d1.getChiffre() == d2.getChiffre()) && (d2.getChiffre() == d3.getChiffre()))
ok=2;
if((nb.equals("211")) || (nb.equals("311")) || (nb.equals("411")) || (nb.equals("511")) || (nb.equals("611")))
ok=3;
else{
ok = d1.getChiffre() + d2.getChiffre() + d3.getChiffre();
}
return ok;
}
Mais je ne pense pas que ca marche car c'est comme si ca prenanit tjr la valeur du else, c'est à dire que les comparaisons ne marchent pas.
La concaténation est elle bien faite ?
C'est bien simple : le dernier bloc if est le seul qui a un effet sur ok : si tu as deux as, ça fait « ok = 3 » ; dans tous les autres cas, ça fait la somme des chiffres.
À mon avis, tu as oublié d'imbriquer tes if.
;)
À mon avis, tu as oublié d'imbriquer tes if.
;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question