2015-11-02 80 views
1

我有一个循环在这里读取一个双值,但对于我需要将它与字符q进行比较的程序,并且如果用户输入q,循环将结束。我不确定这里要做什么。尝试比较字符串和双

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

编辑,忘了退出循环如果u按q键

编辑#2我会把一切,以防万一:)

尝试这个

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