Ciao a tutti ragazzi, sto eseguendo un esercizio in cui si chiede di far muovere su una scacchiera un re, ho scritto questo codice:
codice:
import javax.swing.JOptionPane;
import java.lang.Math;

public class scacchiera {
private int posxb;
private int posxn;
private int posyb;
private int posyn;


    public scacchiera(int xb, int xn, int yb, int yn) {
    	posxb = xb;
    	posxn = xn;
    	posyb = yb;
    	posyn = yn;
    }
    
    public static void main(String [] args){
    
    int xbb = (int)(Math.random()*7)+1;
    int ybb = (int)(Math.random()*7)+1;
    int xnn = (int)(Math.random()*7)+1;
    int ynn = (int)(Math.random()*7)+1;

    scacchiera a = new scacchiera(xbb,xnn,ybb,ynn);
    System.out.println(a.getWhite());
    System.out.println(a.getBlack());	
    System.out.println(a.checkTaken());	
    }
    
    public String getWhite(){
    	return posxb + "," + posyb;
    }
    
    public String getBlack(){
    	return posyn + "," + posyn;
    	
    }
    
    public boolean checkTaken(){
    	
    	boolean c;
    	if (posxb == posxn && posyb == posyn)
    		c = true;
    			else
    				c = false;
    	return c;			
    }
    
    
}
Il problema sta nel metodo checkTaken() che dovrebbe restituire true se i due re si trovano nella stessa posizione altrimenti false. Normalmente funziona ma con Math.random() anche se escono le stesse posizioni, il metodo mi restituisce comunque false. Non riesco a capire come mai