2015-11-02 2 views
1

У меня есть цикл, читающий в двойном значении, но для программы мне нужно сравнить его с символом q, и если пользователь войдет в q, цикл закончится. Я не совсем уверен, что делать здесь.Попытка сравнить строку и double

while (currencyValue != 'q') 
    { 
     System.out.printf("Formatted currency value: $%,.2f\n", currencyValue); 
     System.out.print("Enter a currency value or enter q to quit: "); 
     currencyValue = stdIn.nextDouble(); 
    } 

Спасибо за вашу помощь

+2

Обратно: прочитайте строку, проверьте, является ли она q, а если нет, попробуйте разобрать его как двойную. – Kenney

ответ

1

отредактирован, забыл оставить петлю, если и нажмите Q

Отредактировано # 2 вложу все, на всякий случай :)

Try это

import java.util.Scanner; 
public class Currency 
{ 
    public static void main(String args[]) 
    { 
     Scanner stdIn = new Scanner(System.in); 
     String currencyValue=null; 
     while (!currencyValue.equals("q")) 
     { 
      System.out.print("Enter a currency value or enter q to quit: "); 
      currencyValue = stdIn.nextLine(); 
      if(currencyValue.equals("q")) { 
       System.out.println("You pressed q, have a nice day"); 
       return; 
      } 
      System.out.printf("Formatted currency value: $%,.2f\n", Double.parseDouble(currencyValue)); 
     } 
    } 
} 
+0

Я пытался это сделать, и я продолжаю получать ошибки. – RogueAssassin70

+0

Я исправил сейчас, должен работать. Имейте в виду, что вы должны поставить основной метод выше, я полагаю, вы использовали это, поэтому я его не поместил. – Sekula1991

+0

Это тоже не работает для меня. Я просто пытаюсь отформатировать пользователя, вводя набор чисел, например, 12345. Который будет переведен в 12 345,00 долларов, и когда они будут готовы бросить то, что они нажмут q, и это закончится. петля. Проблема в том, что разбор переменной currencyValue на double тоже не работает. – RogueAssassin70

Смежные вопросы