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 ?