как сделать целое число равным истине - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь сделать оператор if, который проверяет, является ли int = true, но я продолжаю получать сообщение об ошибке, в котором говорится, что int и boolean являются несопоставимыми типами. Есть ли способ заставить его работать

if (board[i + k][j + l] == true){

Ответы [ 3 ]

1 голос
/ 21 февраля 2020

Значение int никогда не будет равно true, в некоторых языках значения 1 и true равны, но Java не является одним из них. Предполагая, что ваш код был написан на таком языке,

if (board[i + k][j + l] == 1) {

или

if (board[i + k][j + l] != 1) {

для покрытия противоположного случая, или даже

if (board[i + k][j + l] != 0) {

или

if (board[i + k][j + l] == 0) {

Но вы не можете написать if ((boolean) 1), потому что это неправильный синтаксис в Java.

0 голосов
/ 16 апреля 2020

Я получил ваш вопрос и вот ответ на него: -

Вы не можете создать тип данных int / Integer , чтобы получить окончательный результат как True / False , он доступен на нескольких языках программирования, но здесь, в Java, вы можете сделать это с логическим типом данных как boolean .

Вот бонусное очко : - Вы можете использовать метод , чтобы целое число дало ваш ответ как Верно / Неверно .

Вот синтаксис , который может вам помочь.

Синтаксис:

Следующий является объявлением метода equals (): publi c boolean equals (Object obj)

Вот пример простого кода в качестве примера с этим методом : -

public class IntegerEqualsExample1 {  
public static void main(String[] args) {          
    Integer obj1 = new Integer(43);  
    Integer obj2 = new Integer(78);  
    System.out.print("obj1 and obj2 are equal. True or False? = ");  
    System.out.println(obj1.equals(obj2));                    
    obj1 = new Integer(55);  
    obj2 = new Integer(55);  
    System.out.print("obj1 and obj2 are equal. True or false? = ");  
    System.out.println(obj1.equals(obj2));                 
}  

}

А вот вывод фрагмента кода : -

obj1 and obj2 are equal. True or False? = false
obj1 and obj2 are equal. True or false? = true

Вы можете проверить этот сайт, который может помочь вам с вашим кодом, нажав здесь .

Я надеюсь, что это решило вашу проблему.

0 голосов
/ 21 февраля 2020

Это будет работать, если ваш массив плат имеет тип boolean. Например:

    boolean[][] board = new boolean[3][3];
    board[0][0] = true;
    board[0][1] = false;
    board[0][2] = true;
    board[1][0] = false;
    board[1][1] = true;
    board[1][2] = false;
    board[2][0] = true;
    board[2][1] = false;
    board[2][2] = true;

    int i=0;
    int j=1;
    int k=0;
    int l=1;

    if (board[i + k][j + l] == true){
        System.out.println("true");
    } else {
        System.out.println("false");            
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...