erreur: mauvais types d'opérande pour l'opérateur binaire " &&"
Ne savez pas quel est le problème ici est la ligne que de mal.
if((board[z][i] = 1) && (board[z][i++] = 1) && (board[z++][i] = 1)){
Voici tout mon code n'est pas fini:
public class Solution {
static void nextMove(int player, int [][] board){
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int player;
int board[][] = new int[8][8];
//If player is 1, I'm the first player.
//If player is 2, I'm the second player.
player = in.nextInt();
//Read the board now. The board is a 8x8 array filled with 1 or 0.
for(int z = 0; z < 8; z++){
for(int i = 0; i < 8; i++) {
board[(z)][(i)] = in.nextInt();
}
}for(int z = 0; z < 8; z++){
for(int i = 0; i < 8; i++) {
if((board[z][i] = 1) && (board[z][i++] = 1) && (board[z++][i] = 1)){
System.out.print(z + " " + i);
}
}
}
nextMove(player,board);
}
}
- Vous devriez aussi faire "i+1" et "z+1", je ne pense pas que vous voulez que les effets secondaires de "++" (d'ailleurs vous êtes en train de faire la post-incrémentation, lors de la pré-incrémentation serait un peu plus correct)
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser l'opérateur relationnel == au lieu de =. Chacun des 3 sous-instructions à l'intérieur des parenthèses de votre si la déclaration doit représenter une valeur booléenne. En Java, = est utilisé pour assigner une valeur et == est utilisé pour vérifier l'égalité. Par conséquent, vous devez changer votre instruction if:
Aussi, plutôt que de l'incrémentation de z et i de 1 (parce que vous le font déjà dans le cadre de votre pour la boucle), peut-être faire i++ --> i + 1 et z++ --> z + 1.
Espérons que cette aide!
utiliser égal double pour la comparaison. Je pense que vous avez raté 🙂
Vous êtes à l'aide de l'opérateur d'affectation, quand vous devriez les comparer.
Ne devrait pas votre code
if((board[z][i] == 1) && (board[z][i++] == 1) && (board[z++][i] == 1)){
mettant l'accent sur la == question
Vous avez utilisé l'opérateur d'affectation=) au lieu de vérifier s'ils sont égaux. L'égalité est vérifiée avec l'opérateur==.
Essayez plutôt ceci
Vous utilisez '=' à
(board[z][i] = 1)
(board[z][i++] = 1)
(board[z++][i] = 1)
à ces comparaisons. Vous avez besoin d'utiliser '==' opérande à des fins de comparaison.Un '=' opérateur est utilisé pour l'affectation de valeurs aux variables alors que '==' est utilisé pour la comparaison.
Juste pour ajouter un point de plus, lorsque l'on compare les valeurs de deux Chaînes vous devez utiliser .equals() méthode '==' compare par référence à Java sur des objets.