Uso de Scanner - Problema de lectura de una linea
Saludos Amigos JavaMexico:
Queria hacerles una consulta como puedo leer en una sola linea dos valores (1 entero y 1 cadena), y luego utilizarlos de forma indepediente???
este es mi codigo:
_______________________________________________________________
__________
Les agradeceria me ayudaran con este problema. Gracias....
intenta con nextDouble() y
intenta con
y nos avisas si funcionó :)
uso de nextdouble
Saludos OscarRyz,
Use "nextDouble", y me dio otros errores. Asi que cambie un poco el codigo y me funciona puede leer (double y
string). Ahora el problema esta en las excepciones. Algunas ocasiones funcionan otras veces. te pediria por favor lo revises y si puedes indicarme donde estan los problemas (declaracion, ubicacion en el bloque de codigo, etc)
CODIGO:
--------------------------
package com.mnemo.formacion.ejercicio4_5_Conversiones_Monetarias;
import java.util.Scanner;
public class ConversionesMonetarias
{
public static double euroAdolar(double euro, double factorCambioaDolar)
{
return (euro * factorCambioaDolar);
}
public static double dolarAeuro(double dolar, double factorCambioaEuro)
{
return (dolar / factorCambioaEuro);
}
public static void main(String [] args)
{
double dinero = 0, dolar, euro, factorEuro_Cambio_dolar = 1.2573;
String moneda = "", monto = "", opcion = "";
Scanner escritura = new Scanner (System.in);
do
{
System.out.println ("Ingrese el monto a convertir... (monto moneda) solo minusculas");
monto = escritura.nextLine ();
Scanner escritura2 = new Scanner (monto);
if (escritura2.hasNext ())
{
try
{
dinero = Double.parseDouble (escritura2.next ());
}
catch (NumberFormatException e)
{
e.printStackTrace ();
}
}
if (escritura2.hasNext ())
{
moneda = escritura2.next ();
}
if (moneda.equals ("usd") || moneda.equals ("euros"))
{
if (moneda.equals ("euros"))
{
dolar = euroAdolar (dinero, factorEuro_Cambio_dolar);
System.out.println (dinero + " " + moneda + " = " + dolar+ " dolar");
}
if (moneda.equals ("usd"))
{
euro = dolarAeuro (dinero, factorEuro_Cambio_dolar);
System.out.println (dinero + " " + moneda + " = " + euro+ " euros ");
}
}
else
{
try
{
throw new ExcepcionMoneda ("La moneda no es usd o euros ");
}
catch (ExcepcionMoneda e)
{
e.printStackTrace ();
}
}
Scanner eleccion = new Scanner (System.in);
System.out.println ("¿desea continuar si/no?");
opcion = eleccion.next ();
System.out.println ("opcion que eligio ... " + opcion);
} while (!opcion.equals ("no"));
System.out.println ("Gracias....");
}
}
_______________
Gracias por el apoyo de antemano.
Pon tu código entre <code> y
Pon tu código entre <code> y </code> y pega también los otros errores que te salen, de otra forma no sé a que te refieres y ya que estás en eso, pon cada llave que abre en la misma linea ( no en una linea nueva ) y en ponle llaves a los if.
Y no así:
Y mucho menos:
Quizá yo no pueda ayudarte a resolverlo todo, pero si lo escribes así ( y pones los mensajes de error ) es mucho más fácil que alguien más te ayude ( a veces tu mismo al escribirlos dirás ..ahhhh claaaaro me falta ponerle un punto y coma )
Saludos
Voy a cerrar este post porque
Voy a cerrar este post porque veo que lo pusiste con más claridad en otro.... por cierto ya te contesté allá