Fallo en un programa muy sencillo en java

alberto
01 de Junio del 2005
Hola , estoy aprendiendo Java por mi cuenta y e empezado a hacer mis primeros programas en java, aparte del hola mundo e intentado realizar un programa que es un conversor euros-pesetas, utilizo el jdeveloper.
mi pregunta es porque no me funciona el programa, el fallo se produce cuando sale por pantalla "INTRODUCE EL VALOR EN PESETAS", que el programa continua en lugar de pararse para recoger el valor que se le introduce por teclado. Aqui pongo el codigo por si me podeis ayudar:

class Conversor
{ static int op=0;
static final double euro= 166.386;
static float valor=0;
static double tot=0;

public static void main(String args[])
{
System.out.println("PARA CONVERSION DE PESETAS A EUROS PULSA EL 1");
System.out.println("PARA CONVERSION DE EUROS A PESETAS PULSA EL 2");
try{
op=System.in.read();
if (op=='1')
{
System.out.println("INTRODUCE EL VALOR EN PESETAS");
try
{
valor=System.in.read();
tot=valor/euro;
System.out.println("SON: " +tot);
}
catch (java.io.IOException e){System.out.println(e.getMessage());}
}
if (op=='2')
{
System.out.println("INTRODUCE EL VALOR EN EUROS");
try
{
System.out.println(op);
valor=(float) System.in.read();
tot=valor*euro;
System.out.println("SON" +tot);
}
catch (java.io.IOException e){System.out.println(e.getMessage());}
}
}
catch (java.io.IOException e){System.out.println(e.getMessage());}
}
}

sal00m
01 de Junio del 2005
Haces algunas cosas muy raras.... ten en cuenta que lees un string del teclado... asi que luego tendras que convertirlo a float a integer o a lo que necesites.

Asi que define las variablesop y valor como strings y luego usa Integer.parseInt y Float.parseFloat