Preeencher tabela com numeros q nao se repetem

Olá !!! Alguem poderia me ajudar por favor ??

Eu preciso criar uma tabela em que o usuario informa o numero de colunas e linhas, sendo o maximo 9 linhas e 9 colunas. Depois devo preenche-la com numeros de 1 a 9, sem repeti-los numa mesma linha ou coluna. Por exemplo:

1 2 3 4
2 3 4 5
3 4 5 6

Me ajudem, é muito urgente !!!

Você quer montar um tabuleiro de Sudoku? Isso parece lição de casa, ou (pior) teste para admissão em algum emprego.

Se quer a resposta pronta, procure por “Sudoku”, “Java” e “create”. Por exemplo:

http://www.cs.wisc.edu/~jerryzhu/cs540/project/proposal/eries/index.html

int linhas = 10;
int colunas = 10;
for (int i = 0; i &lt linhas; i++) {
  for (int j = 0; j &lt colunas; j++) {
    System.out.print(i + j + 1 + " ");
  }
  System.out.println("");
}

Esse foi de cabeça.;…

[quote=nbluis] int linhas = 10; int colunas = 10; for (int i = 0; i &lt linhas; i++) { for (int j = 0; j &lt colunas; j++) { System.out.print(i + j + 1 + " "); } System.out.println(""); }
Esse foi de cabeça.;…[/quote]

Se for de 1 a 9 os números possíveis, esse código está errado, mesmo que com 9x9.

Até!

Se for para um curso técnico, a solução trivial é válida, já que ele não quer um tabuleiro aleatório, mas sim algo tão simples quanto a permutação mostrada.
Você adapta para o caso em que menos colunas e linhas são necessárias.

[code]
class TesteTabuleiro {
public static void main(String[] args) {
int nLinhas = 9;
int nColunas = 9;

    for (int i = 1; i &lt= nLinhas; ++i) {
        for (int j = 1; j &lt= nColunas; ++j) {
            int x = i + j; 
            x = x % 9;  // explique-me o que isto faz...
            if (x == 0) { // explique-me o que isto faz...
                x = 9; // explique-me o que isto faz...
            }
            System.out.print (x + " ");
        }
        System.out.println ();
    }
}

}[/code]

Pergunta: no código acima, qual é o primeiro número que aparece na tabela?

Para que simplificar se pode complicar?
Vou tirar o if daí

[code]
//Adaptado do thingol
class TesteTabuleiro2 {
public static void main(String[] args) {
int nLinhas = 9;
int nColunas = 9;

    for (int i = 1; i &lt= nLinhas; ++i) {
        for (int j = 1; j &lt= nColunas; ++j) {
            int x = i + j; 
            x = x % 9 +1;  // agora sim! Ficou mais legal. =)
            System.out.print (x + " ");
        }
        System.out.println ();
    }
}

}[/code]

Até!