Ciao a tutti popolo di HTML!
Sono alle prime armi con java e dopo aver studiato gli array e array di array sto cercando di fare un esercizio. E volevo chiedervi un vostro consiglio. Vi riporto il testo: "La classe Sudoku ha il solo metodo di classe seguente:
public static boolean verificaSchema(int[][] schema)
che riceve in ingresso una matrice di interi di dimensione 9×9 e restituisce true se la matrice rappresenta una soluzione valida per il gioco del Sudoku, false altrimenti. Scrivere la classe Sudoku e la classe ProvaSudoku che la testa."

Dato che chiede un solo metodo, io ho risolto così (non ho ancora scritto il codice che testa i singoli quadrati 3x3 ma solo quelli che testano le righe e le colonne):

codice:
class Sudoku{

	public static boolean verificaSchema(int[][] schema){

		//verifica righe
		int i=0; //indice riga
		int j=0; //indice colonna
		int k=0;
		boolean diversi = true;
		while(i<9 && diversi){
			while(j<9 && diversi){
				while(k>=j+1 && k<=9 && diversi){
					if(schema[i][j]==schema[i][k])
						diversi=false;
					k++;
				}
				j++;
			}
			i++;
		}

		//verifica colonne
		boolean diversi2=true;
		if(diversi==true){
			j=0;
			k=0;
			while(j<9 && diversi2){
				while(i<9 && diversi2){
					while(k>=i+1 && k<=9 && diversi2){
						if(schema[i][j]==schema[k][j])
							diversi2=false;
						k++;
					}
					i++;
				}
				j++;
			}
		}

		boolean corretto = diversi && diversi2;
		return corretto;
	}
}
Ho scritto anche la classe ProvaSudoku, e facendo una prova inserendo tutte le righe pari a 1,2,3,4,5,6,7,8,9 mi dice che la griglia è corretta quando invece è sbagliata!!! Non riesco a capire dove sta l'errore fin qui.