[RESOLVIDO] Problema ao gerar número aleatório

Gostaria de ajuda , pois meu código não está funcionando :

public void firstLineSudoku() // gera primeira linha do sudoku
{
for (j = 0 ; j < 9 ; j++)
{

       sudoku[0][j] = random.nextInt(9) + 1;
       s = " " + Integer.toString(sudoku[0][j]);
   
   }
   
   System.out.print(s); // exibe para teste
} // fim de firstLineSudoku

O que que “não funciona” ?

Aparece essa mensagem de erro no netBean :

Exception in thread “main” java.lang.NullPointerException
at sudokujava.SudokuGenerator.firstLineSudoku(SudokuGenerator.java:23)
at sudokujava.SudokuJava.main(SudokuJava.java:19)
Java Result: 1

Eu gostaria que fosse impresso uma linha com números aleatórios , mas esse código ainda estou aperfeiçoado ,
pois ele ainda vai ter que detectar os números que já estão na matriz de forma que não se repitam .

Aparece essa mensagem de erro no netBean :

Exception in thread “main” java.lang.NullPointerException
at sudokujava.SudokuGenerator.firstLineSudoku(SudokuGenerator.java:23)
at sudokujava.SudokuJava.main(SudokuJava.java:19)
Java Result: 1

Eu gostaria que fosse impresso uma linha com números aleatórios , mas esse código ainda estou aperfeiçoado ,
pois ele ainda vai ter que detectar os números que já estão na matriz de forma que não se repitam .[/quote]

[code]/*

  • Esta Classe gera os números para o Sudoku
    */
    package sudokujava;
    import java.util.Random; // importa classe que gera números aleatórios

/**
*

  • @author Paulo Sérgio
    */
    public class SudokuGenerator {

    Random random = new Random();
    public int sudoku[][]; // sudoku 9 x 9 linhas x coluna
    public int i , j ; // posições de linha i , posições coluna j ;
    String s ; // usado somente para testes

    public void firstLineSudoku() // gera primeira linha do sudoku
    {
    for (j = 0 ; j < 9 ; j++)
    {

        sudoku[0][j] = random.nextInt(9) + 1;
        s = "/t" + Integer.toString(sudoku[0][j]);
    
    }
    
    System.out.print(s); // exibe para teste
    

    } // fim de firstLineSudoku

    public void firstColuneSudoku() // gera primeira coluna do sudoku
    {

    }

}
[/code]

Vc precisa instanciar o array e dps popular;

int sudoku[][] = new int[0][9];//por exemplo

[quote=RodrigoKaos]Vc precisa instanciar o array e dps popular;

[code]
int sudoku[][] = new int[0][9];//por exemplo

[/code][/quote]

Estou iniciando em Java , como faço pra instanciar o array e depois popular ? Existe tutorial ?
Obrigado .

[quote=paulo10171][quote=RodrigoKaos]Vc precisa instanciar o array e dps popular;

[code]
int sudoku[][] = new int[0][9];//por exemplo

[/code][/quote]

Estou iniciando em Java , como faço pra instanciar o array e depois popular ? Existe tutorial ?
Obrigado .[/quote]

Consegui instanciar a array , eu acho : int sudoku[][] = new array[9][9];

Mas agora o problema é outro , a String gerada só tem um elemento . Aparece um número de cada vez ao invés de aparecer uma
String contendo os 9 elementos .

[i]Blz, sempre que vc vier com alguma duvida da uma pesquisada no forum antes, provavelmente vc vai encontrar a solução.

nesse link tem alguma coisa, da uma lida.

Boa sorte

[/i]

[quote=paulo10171][quote=paulo10171][quote=RodrigoKaos]Vc precisa instanciar o array e dps popular;

[code]
int sudoku[][] = new int[0][9];//por exemplo

[/code][/quote]

Estou iniciando em Java , como faço pra instanciar o array e depois popular ? Existe tutorial ?
Obrigado .[/quote]

Consegui instanciar a array , eu acho : int sudoku[][] = new array[9][9];

Mas agora o problema é outro , a String gerada só tem um elemento . Aparece um número de cada vez ao invés de aparecer uma
String contendo os 9 elementos .[/quote]

OPS , era int sudoku[][] = new int[9][9];

Consegui criar a String só pra testes , era assim : s = s + " " + Integer.toString(sudoku[0][j]) ;

No caso , ainda estou implementando o resto do código . Mas valeu , obrigadão mesmo .

[quote=paulo10171]
Consegui criar a String só pra testes , era assim : s = s + " " + Integer.toString(sudoku[0][j]) ;[/quote]


Isso ae msm, vc pode simplificar usando:
[code]
s += " " + Integer.toString(sudoku[0][j]) ;

//Outros exemplos:

i = i + 2;
i += 2;

x = x * 4;
x *= 4;
[/code]

Só coloca a tag [Resolvido] no tópico, vlw. abc.

[quote=RodrigoKaos][quote=paulo10171]
Consegui criar a String só pra testes , era assim : s = s + " " + Integer.toString(sudoku[0][j]) ;[/quote]


Isso ae msm, vc pode simplificar usando:
[code]
s += " " + Integer.toString(sudoku[0][j]) ;

//Outros exemplos:

i = i + 2;
i += 2;

x = x * 4;
x *= 4;
[/code]

Só coloca a tag [Resolvido] no tópico, vlw. abc.
[/quote]

Legal , eu tinha esquecido disso , é usado em c++ senão me engano . Eu estudei c++ há muito tempo , uns três anos eu acho .
Agora vou partir para gerar números sem repetir na mesma linha usando do {} while(); Existe alguma class em java que faça isso ?