Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2013, 16:34
dfmex
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Problema en mi tarea con Java, no cicla...

Amigos, disculpen que les escriba este tema, pero ya no he encontrado una solución a mi problema.

Estoy viendo clases encapsuladas en Java, y tengo que crear un programa que al terminar de solicitarme los datos haga los cálculos y me pregunte si quiero volver a calcular todo de nuevo.

La cosa es: Si funciona, pero cuando respondo que si deseo continuar capturando más datos se salta la primer pregunta de datos() y omite preguntarme el nombre...

Para que me comprendan dejo aqui el código que he hecho en total:

Clase ENCAPSULADA llamado Nadador.java:

Código:
/* Nadador.java

public class Nadador {
  private String Nombre;
  private byte Londres;
  private byte Sydney;
  private byte Atenas;
  private byte Pekin;
    
  

 public String getNombre( ){
    return this.Nombre;
  }

  public void setNombre(String Nombre){
    this.Nombre = Nombre;
  }

  public byte getLondres( ){
    return this.Londres;
  }

  public void setLondres(byte Londres){
    this.Londres = Londres;
  }

  
  public byte getSydney( ){
    return this.Sydney;
  }

  public void setSydney(byte Sydney){
    this.Sydney = Sydney;
  
  }
  
  public byte getAtenas( ){
    return this.Atenas;
  }

  public void setAtenas(byte Atenas){
    this.Atenas = Atenas;
  
  }
  
  public byte getPekin( ){
    return this.Pekin;
  }

  public void setPekin(byte Pekin){
    this.Pekin = Pekin;
  
  }
  
  
  
  
}
Clase Principal, llamada PruebaNadador.java:


Código:
import java.util.Scanner;
import java.io.*; 
import static java.lang.Math.*;


public class PruebaNadador {
               int Suma,Promedio;
                  Nadador s = new Nadador();
                  Scanner x = new Scanner(System.in);
    
    
    
    
    void inicio() {
            System.out.println("\n\nSistema para obtener el promedio de medallas ganadas por un nadador en varias olimpiadas\n\n");
           }
   
     void datos (Nadador n){
         
         System.out.print("Escriba el nombre del nadador:\n");
          n.setNombre(x.nextLine());
      
          System.out.print("Indique la cantidad de medallas ganadas en Londres:\n");
              n.setLondres ( x.nextByte());
          
              System.out.print("Indique la cantidad de medallas ganadas en Atenas:\n");
              n.setAtenas ( x.nextByte());
              
              System.out.print("Indique la cantidad de medallas ganadas en Pekin:\n");
              n.setPekin ( x.nextByte());
              
              
              System.out.print("Indique la cantidad de medallas ganadas en Sydney:\n");
              n.setSydney ( x.nextByte());
              
              
                              }
    
     void calculos(Nadador z){
          
         Suma =  s.getLondres() + s.getAtenas()  + s.getPekin() + s.getSydney();
       
         Promedio = Suma /4;
         
              
         }
     
    
    
    void resultado() {
         
          System.out.println("El Nadador: " + s.getNombre() + "tiene nn promedio de " +Promedio+ "  medallas ganadas en 4 juegos Olimpicos");
    
    }
    
    
    
    
    public static void main(String[] args) throws IOException {
        PruebaNadador w = new PruebaNadador();
      int resp = 'S';
         
         
      w.inicio();
    while (resp == 's' || resp == 'S'){
      w.datos(w.s);
      w.calculos(w.s);
      w.resultado();
      
      System.out.print("Desea evaluar el promedio de medallas de otro nadador olimpico? S/N:");
      resp = System.in.read();
      System.in.skip(2);

      
    
    } 
      
    }
}

Yo creo que mi problema está aquí:

Código:
    public static void main(String[] args) throws IOException {
        PruebaNadador w = new PruebaNadador();
      int resp = 'S';
         
         
      w.inicio();
    while (resp == 's' || resp == 'S'){
      w.datos(w.s);
      w.calculos(w.s);
      w.resultado();
      
      System.out.print("Desea evaluar el promedio de medallas de otro nadador olimpico? S/N:");
      resp = System.in.read();
      System.in.skip(2);

      
    
    } 
      
    }
¿Alguien que pudiera orientarme por favor, ?