@Fabricia_Santos2344 escreveu:
public class tabuleirorainhas {
public static boolean choque(int[] rainha, int n) { for (int i = 0; i < n; i++) { if (rainha[i] == rainha[n]) return false; // coluna if ((rainha[i] - rainha[n]) == (n - i)) return false; // diagonal if ((rainha[n] - rainha[i]) == (n - i)) return false; // menor diagonal } return true; } public static void mostrar(int[] q) { int n = q.length; for (int linha = 0; linha < n; linha++) { for (int coluna = 0; coluna < n; coluna++) { if (q[linha] == coluna) System.out.println("R"); else System.out.println("*"); } System.out.println(); } System.out.println(); }
public static void tabuleiro(int n) {
int[] a = new int[n];
tabuleiro(a, 0);
}public static void tabuleiro(int[] rainha, int k) { int n = rainha.length; if (k == n) mostrar(rainha); else { for (int i = 0; i < n; i++) { rainha[k] = i; if (choque(rainha, k)) tabuleiro(rainha, k+1); } } } public static void main(String[] args) { int n = Integer.parseInt(args[0]); tabuleiro(n); }
}
//O ERRO QUE APARECE
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at estruturadedados2.tabuleiro8rainhas.main(tabuleiro8rainhas.java:54)
C:\Users\Fabricia\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 1 segundo)
Mensagens: 2
Participantes: 1