nebra 0 Denunciar post Postado Novembro 11, 2007 import java.util.Scanner; /** * @author * Tempo de execução do trabalho por um docente (enunciado + resolução): 20m (15m codificação + 5m debug) * Tempo de execução esperado para um aluno (que tenha resolvido e compreendido os exercícios das aulas anteriores): ~2h * */ public class problema2 { public static void main(String[] args) { // criação de matriz de 9x9 inteiros, todos inicializados com zero Sudoku jogo = new Sudoku(); Scanner teclado = new Scanner(System.in); int número = 0; do { // pedido da linha ao utilizador (de A a I) System.out.println("Introduza a linha (A-I) ?"); char caracter_linha = teclado.nextLine().charAt(0); // pedido da coluna ao utilizador (de 1 a 9) System.out.println("Introduza a coluna (1-9) ?"); int coluna = teclado.nextInt(); teclado.nextLine(); // pedido do número a introduzir na matriz (de 1 a 9) System.out.println("Qual o número a introduzir (1-9) ?"); número = teclado.nextInt(); teclado.nextLine(); // tradução da letra para um número de linha (inteiro) int linha = (int)(caracter_linha - 'A'); // tradução da coluna para indíce da coluna matriz coluna--; // se o número for diferente de zero if (número != 0) { // verificação dos dados introduzidos if (!jogo.coordenadaVálida(linha, coluna) || !jogo.numeroVálido(número)){ // Se não forem válidos emite mensagem de erro System.out.println("Erro: Coordenada ou número inválidos"); // ... e passa à impressão da matriz sem fazer mais nada } else { // procurar número na coluna if (jogo.existeNaColuna(coluna, número)) { // Se encontrar emite mensagem de erro System.out.println("Erro: número repetido na coluna"); } else { // procurar número na linha if (jogo.existeNaLinha(linha, número)) { // Se encontrar emite mensagem de erro System.out.println("Erro: número repetido na linha"); } else { // Senão insere o número na matriz jogo.escreve(linha, coluna, número); } } } } // Mostrar a martiz jogo.mostraNoEcrã(); // repetir enquanto número diferente de zero }while (número != 0); } } este é o meu problema, eu tenhu de apenas criar a classe Sudoku e os seus Metodos public class Sudoku { private int número; private int linha; private int coluna; public Sudoku(int número, int linha,int coluna) { this.número = número; this.linha = linha; this.coluna = coluna; } public boolean coordenadaVálida(int linha, int coluna) { if(this.linha>0 && this.linha <=9 && this.coluna>0 && this.coluna <= 9) return true; else return false; } public boolean numeroVálido(int número) { if(this.número>0 && this.número <=9) return true; else return false; } public boolean existeNaColuna(int coluna, int número) { for (int i=linha; i<9; i++) { if (Sudoku[coluna] != número) return true; } return false; } public boolean existeNaLinha(int linha, int número) { for (int j=coluna; j<9; j++) { if (jogo[linha][j] != número) return true; } return false; } public void escreve(int linha, int coluna, int número) { jogo[linha][coluna]=número; } public void mostraNoEcrã() { for (linha = 0; linha <= jogo.length - 1; linha++) { for (coluna = 0; coluna <= jogo[linha].length - 1; coluna++) { System.out.print(jogo[linha][coluna] + " "); } System.out.println(); } } isto é o que tenho feito, mas obviamente está mal, por favor ajudem-me Compartilhar este post Link para o post Compartilhar em outros sites
Giovani 104 Denunciar post Postado Novembro 13, 2007 Título do tópico editado conforme Regras do Fórum iMasters Sai: PRECISO DE AJUDA por favor! Entra: Sudoku Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Novembro 13, 2007 Se voce listar os métodos que precisa fica mais fácil. Vamos tentando resolver aos poucos, por exemplo: // criação de matriz de 9x9 inteiros, todos inicializados com zero Sudoku jogo = new Sudoku(); Voce chamou o construtor padrão, mas não tem o código dele e sim um com parametros. public Sudoku(int número, int linha,int coluna) { this.número = número; this.linha = linha; this.coluna = coluna; } Pergunto: sempre será uma matriz 9x9? se sim faça isso no construtor padrão. public Sudoku(int linha, int coluna) { this.linha = 9; this.coluna = 9; } Onde está definida a matriz? Compartilhar este post Link para o post Compartilhar em outros sites