Member 13705965 Ответов: 1

Почему 1s печатается во всей строке, если присутствует больше одного


Я создаю программу, которая при заданном значении x и y java выведет на экран 1 в соответствующей координатной позиции.Но когда присутствует более 1 "1", он печатает всю строку из 8 как 1, а не некоторые как 0

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication12;

import java.util.ArrayList;
import java.util.Scanner;

/**
 *
 * @author Coles Laptop
 */
public class JavaApplication12 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //getting input      
        Scanner input = new Scanner(System.in);
           
              
              //creating the 2d array to store the x and y values in int array queen
              int [][] queen= new int [8][2]; 
             
              
              //getting values for the queen array in a for loop
              for (int i=0; i<8; i++){
                   System.out.println("What Do You Want for the Queens X Cordinate");
                   int x1=input.nextInt();
                   System.out.println("What Do You Want For The Queens Y Cordinate?");
                   int y1=input.nextInt();
                   queen[i][0]=x1;
                   queen[i][1]=y1;}
      

   
      for (int i=0; i<8; i++){
                for(int j=0; j<8; j++){
                    if(queen[i][0]==j & queen[i][1]==i){
                        System.out.print("1");
                    }else{
                                        System.out.print("0");
                                        }
                    }
                    System.out.println();
                    
                    
                    
                    
                    
                    
                }
              }
    }


Что я уже пробовал:

Я пробовал изменить & на a | и изменить некоторые значения цикла, но ни одно из них не сработало.

1 Ответов

Рейтинг:
2

Patrice T

Попробуй

if(queen[i][0]==j && queen[i][1]==i){

Смотрите разницу между побитовыми и логическими операторами:
Основные Операторы Java[^]