【问题标题】:Trying to compare string and double试图比较字符串和双精度
【发布时间】:2015-11-02 01:17:04
【问题描述】:

我在这里有一个循环读取双精度值,但对于程序我需要将它与字符 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();
     }

感谢您的帮助

【问题讨论】:

  • 反转它:读取一个字符串,检查它是否为 q,如果不是,尝试将其解析为 double。

标签: java string syntax double


【解决方案1】:

已编辑,如果你按 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));
      }
   }
}

【讨论】:

  • 我现在修好了,应该可以工作了。请记住,您必须将 main 方法放在上面,我想您使用了它,所以我没有放。
  • 这对我也不起作用,我只是想格式化用户输入一组像 12345 这样的数字。这将被转换为 $12,345.00,当他们准备好退出时,他们会点击q 它将结束while循环。问题是,将 currencyValue 变量解析为 double 也不起作用。
  • 我想我发现了我的问题,“(currencyValue != "q")”。由于我正在比较两个字符串,我应该使用 currencyValue.notequals q 吗?
  • 我知道如何检查字符串是否相等,但我不知道如何检查它们是否不相等。
  • 我忘了编辑你做的那部分,我的错,试试 while (!currencyValue.equals("q")) {
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-11
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-17
相关资源
最近更新 更多