Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2008, 06:05
buckcherry
 
Fecha de Ingreso: diciembre-2008
Mensajes: 13
Antigüedad: 15 años, 4 meses
Puntos: 0
Bucle de menú en modo consola

Hola a todos,

Estoy iniciandome en Java, y estoy haciendo una pequeña aplicación que suma, resta, multiplica y divide dos números enteros solicitados al usuario. Al final debe preguntar si se quiere ejecutar de nuevo el programa.
Lo intento hacer con un do while, se compila correctamente pero luego me hace la pregunta, no me deja que conteste y finaliza el programa. Alguna idea?.

Gracias de antemano:

Ahí va el código:

import java.io.*;

class calculadora1
{


public static void main(String[] args) throws IOException
{
char seleccion = 's';
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));

do
{

System.out.print("Por favor, escriba un numero entero a continuacion: ");
int entero1 = Integer.parseInt(stdin.readLine());
System.out.println("Ha introducido el "+entero1);
//Hasta aqui hemos introducido el primer numero.

System.out.print("Ahora escriba un segundo numero entero: ");
int entero2= Integer.parseInt(stdin.readLine());
System.out.println("Ha introducido el "+entero2);
/*Ahora hemos introducido el segundo numero y nos disponemos a pedir al usuario la operación a realizar*/

System.out.print("Por favor, especifique la operacion que desea realizar:\n\n- Suma (s)\n- Resta (r)\n- Multiplicacion (m)\n- Division (d)\n\nIntroduzca

opcion: ");
char opcion = (char) System.in.read();

System.out.println("Ha seleccionado: "+opcion);
//Ya tenemos capturada la opción.

switch(opcion)
{
case 's': int suma = entero1 + entero2;
System.out.println("La suma de los dos numeros introducidos da "+suma);
break;

case 'r': int resta = entero1 - entero2;
System.out.println("La resta de los dos numeros introducidos da "+resta);
break;

case 'd': float enteroI = entero1;
float enteroII = entero2;

float division = enteroI / enteroII;
System.out.println("La division de los dos numeros introducidos da "+division);
break;

case 'm': int producto = entero1 * entero2;
System.out.println("La multiplicacion de los dos numeros introducidos da "+producto);
break;

default: System.out.println("No ha escrito ninguna opcion valida.");
}
System.out.print("Desea realizar una nueva operacion? (s/n): ");
seleccion = (char) System.in.read();

} while (seleccion == 's');


}
}