Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2015, 19:30
Avatar de AlfaCenturio
AlfaCenturio
 
Fecha de Ingreso: abril-2005
Ubicación: México
Mensajes: 286
Antigüedad: 19 años, 8 meses
Puntos: 0
Ciclo do while se brinca

Hola a todos en este foro, apenas ando aprendiendo java, estoy utilizando el eclipse como entorno de programación, sin embargo, no me explico por qué se brinca la primera pregunta
he aquí el codigo:
Cita:
package nominaBasica;

import java.util.Scanner;

public class Nomina {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);


String nombre;
int pagohora;
int horasmes;
int pagomensual;
int salmensarea_a;
int salmensarea_b;
char areageografica;
char resp;

do{
System.out.println("Escriba el nombre del empleado: ");
nombre = sc.nextLine();
System.out.println("¿A cuanto asciende tu ingreso por hora?: ");
pagohora = sc.nextInt();
System.out.println("¿Cuantas horas trabajas tu al mes?: ");
horasmes = sc.nextInt();
System.out.println("¿A que area geografica perteneces A o B?: ");
areageografica = sc.next().charAt(0);


pagomensual = pagohora * horasmes;

if (areageografica == 'A' || areageografica == 'a'){
salmensarea_a = 2103;
System.out.println("El salario mensual del area geografica A es: "+ salmensarea_a);
if (pagomensual>salmensarea_a){
System.out.println("El nombre del empleado es: "+ nombre);
System.out.println("El salario minimo mensual del empleado del area A es: "+ pagomensual);
}else{
System.out.println("El nombre del empleado es: "+ nombre);
}
}else if (areageografica == 'B' || areageografica == 'b'){
salmensarea_b = 2048;
System.out.println("El salario mensual del area geografica B es: "+ salmensarea_b);
if (pagomensual>salmensarea_b){
System.out.println("El nombre del empleado es: "+ nombre);
System.out.println("El salario minimo mensual del empleado del area B es: "+ pagomensual);
}else{
System.out.println("El nombre del empleado es: "+ nombre);
}
}

System.out.println("¿Desea verificar el salario de otro empleado?(S/N)");
resp = sc.next().charAt(0);
//System.out.println(resp);
}while(resp != 'n' && resp != 'N');

}

}
La primera vez lo ejecuto no hay ningún problema pero cuando le digo que
si quiero verificar otro salario se brinca la primera pregunta cuando
le intente con sc.next() no se brinca la pregunta pero da error al poner el texto
con espacios, quisiera saber por qué pasa eso. He aquí el resultado:

Escriba el nombre del empleado:
Manuel Murillo Castrejon
¿A cuanto asciende tu ingreso por hora?:
25
¿Cuantas horas trabajas tu al mes?:
150
¿A que area geografica perteneces A o B?:
a
El salario mensual del area geografica A es: 2103
El nombre del empleado es: Manuel Murillo Castrejon
El salario minimo mensual del empleado del area A es: 3750
¿Desea verificar el salario de otro empleado?(S/N)
s
Escriba el nombre del empleado:
¿A cuanto asciende tu ingreso por hora?:
__________________
"Todo lo que una persona pueda imaginar, otro podrá hacerlo realidad." Julio Verne
"No hay un solo tema científico, que no pueda ser explicado a nivel popular." Carl Sagan