import java.util.* ;

public class CurrencyConverterTester
    public static void main(String[] args)
	Scanner scanner = new Scanner( ;
	System.out.println("How many euros is one dollar?") ;
	String input = scanner.nextLine() ;
	double rate = Double.parseDouble(input) ;
	CurrencyConverter converter = new CurrencyConverter(rate);

	boolean done = false;
        while (!done)
        System.out.println("Dollar value (Q to quit)") ;
	input = scanner.nextLine() ;
	double amount = Double.parseDouble(input) ;
        if (input.equalsIgnoreCase("Q"))
        done = false;
        else        {
        double exchange = converter.convert(amount);
        System.out.println(amount + " dollars = " + exchange + " euro");



basically when i press q or Q i get an error
Exception in thread "main" java.lang.NumberFormatException: For input string: "q"
at sun.misc.FloatingDecimal.readJavaFormatString(
at java.lang.Double.parseDouble(
at CurrencyConverterTester.main(
Java Result: 1

Recommended Answers

All 2 Replies

You're parsing it as a double as soon as you read it. "Q" isn't a double.

lol, as soon as i posted i figured out what was wrong!!
i had to move lines 19 and 20 into the else {}

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.