Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Meta en 24 Abril 2011, 08:06 am



Título: Buscara errores.
Publicado por: Meta en 24 Abril 2011, 08:06 am
Hola:

No se la causa de estos errores.


Main.java
Código
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package mypkg;
  7. import java.util.Scanner;
  8. import java.util.InputMismatchException;
  9.  
  10. /**
  11.  *
  12.  * @author Hunter
  13.  */
  14. public class Main {
  15.  
  16.    /**
  17.      * @param args the command line arguments
  18.      */
  19.    public static void main(String[] args) {
  20.        // TODO code application logic here
  21.        Scanner lector = new Scanner(System.in);
  22.        int[] palillos = {7,5,3};
  23.        JuegoPalillos juego;
  24.        String[] jugador = new String[2];
  25.        jugador[0] = "Jugador 1";
  26.        jugador[1] = "Jugador 2";
  27.        int turno = 0;
  28.        int fila;
  29.        int cuantos;
  30.        juego = new JuegoPalillos(palillos);
  31.  
  32.        do{
  33.            System.out.println(juego);
  34.            System.out.printf(jugador[turno]+". elige fila");
  35.            fila = lector.nextInt();
  36.            System.out.printf(jugador[turno]+". ¿cuántos palillos quieres quitar?");
  37.            cuantos = lector.nextInt();
  38.            if (juego.quitaPalillos(fila.cuantos)){
  39.                turno = (turno + 1) % 2;
  40.            }else{
  41.                System.out.printf("Introduce bien la fila y los palillos");
  42.            }
  43.        }catch (InputMismatchException e){
  44.            System.out.printf("por favor introduce un número.");
  45.            lector.next();
  46.        }cath (Exception exc){
  47.            System.out.printf("Se ha producido algún error " + exc.toString());
  48.        }
  49.    }while (!juego.finDeJuego());
  50.    System.out.println("El ganador ha sido " + jugador[turno]);
  51.  
  52. }
  53.  

JuegoPalillos.java
Código
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package mypkg;
  7.  
  8. /**
  9.  *
  10.  * @author Hunter
  11.  */
  12. public class JuegoPalillos {
  13.    private FilaPalillos[] filas;
  14.  
  15.    public JuegoPalillos(int[] palillos){
  16.        filas = new FilaPalillos[palillos.length];
  17.        for (int i = 0; i < filas.length; i++){
  18.            filas[i] = new FilaPalillos(palillos[i]);
  19.        }
  20.    }
  21.  
  22.    public boolean quitaPalillos(int fila, int cuantos){
  23.        if (fila < 0 || fila >= filas.length)
  24.            return false;
  25.        else
  26.            return filas[fila].quitaPalillos(cuantos);
  27.    }
  28.  
  29.    public boolean finDeJuego(){
  30.        for (int i = 0; i < filas.length; ++i){
  31.            if(filas[i].cuantosPalillos() != 0) return false;
  32.        }
  33.        return true;
  34.    }
  35.  
  36.    public String toString(){
  37.        String s = "";
  38.        for (int i = 0; i < filas.length; i++){
  39.            s += i + " " + filas[i] + "\n";
  40.        }
  41.        return s;
  42.    }
  43. }
  44.  



FilaPalillos.java
Código
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package mypkg;
  7.  
  8. /**
  9.  *
  10.  * @author Hunter
  11.  */
  12. public class FilaPalillos {
  13.    private int numPalillos;
  14.  
  15.    public FilaPalillos(int tamaño){
  16.        numPalillos = tamaño;
  17.    }
  18.  
  19.    public boolean quitaPalillos(int cuantos){
  20.        if (cuantos > numPalillos){
  21.            return false;
  22.        }else{
  23.            numPalillos -= cuantos;
  24.            return true;
  25.        }
  26.    }
  27.  
  28.    public String toString(){
  29.        String s = "";
  30.        for (int i=0; i < numPalillos; i++){
  31.            s += "|";
  32.        }
  33.        return s;
  34.    }
  35.  
  36.    public void añadePalillos(int cuantos){
  37.        numPalillos += cuantos;
  38.    }
  39.  
  40.    public int cuantosPalillos(){
  41.        return numPalillos;
  42.    }
  43. }
  44.  

Quiero solucionar los errores de este programa.


Título: Re: Buscara errores.
Publicado por: 1mpuls0 en 24 Abril 2011, 10:01 am
Qué errores?, indicalos.
a qué conclusión llegaste por la cual se ocasionan los errores?

La verdad no creo que muchos quieran compilar esas clases para revisar los errores.

Saludos.


Título: Re: Buscara errores.
Publicado por: Edu en 24 Abril 2011, 19:40 pm
Yo lo que hago siempre es ir colocando algun mensaje o algo por parte de codigo, cosa q si no llega a ese mensaje se q el error esta antes, luego vas poniendo el mensaje o lo q sea cada vez antes hasta encontrarte con la linea o bucle q de error y entonces ahi dejas aca el codigo del error en vez de dejar todos esos codigos


Título: Re: Buscara errores.
Publicado por: Shell Root en 24 Abril 2011, 20:28 pm
A simple vista son errores de sintaxis, por ejemplo:
Main.java
Código
  1.        }cath (Exception exc){
  2.            System.out.printf("Se ha producido algún error " + exc.toString());
  3.        }

debería ser,
Código
  1.        }catch (Exception exc){
  2.            System.out.printf("Se ha producido algún error " + exc.toString());
  3.        }


Título: Re: Buscara errores.
Publicado por: Meta en 28 Abril 2011, 16:08 pm
Am, lo comprobaré, si que tienes buena vista.