输入对话框的货币转换器 If 语句



我的项目是创建一个货币转换器,我似乎无法将if语句连接到用户的选择。

import javax.swing.JOptionPane;
public class Test {

    public static void main(String args[]){
    double CanadianDollar = .9813;
    double Euro = .757;
    double IndianRupee = 52.53;
    double JapaneseYen = 80.92;
    double MexicanPeso = 13.1544;
    double BritishPound = .6178;
    String input; 
    Object[] possibilities = {"Canadian Dollar", "Euro", "Indian Rupee", "Japanese Yen",
            "Mexican Peso", "British Pound"};
    String currencyChosen = (String) JOptionPane.showInputDialog( null,
         "What currency would you like to start with?:",
         "Currency Converter",
         JOptionPane.QUESTION_MESSAGE,
         null,
         possibilities,
         null);
    JOptionPane.showMessageDialog(null, "You chose to start from " + currencyChosen);
    Object[] possibilitiesToChoose = {"Canadian Dollar", "Euro", "Indian Rupee", "Japanese Yen",
            "Mexican Peso", "British Pound"};
    String convertTo = (String) JOptionPane.showInputDialog( null,
         "What currency would you like to convert to?:",
         "Currency Converter",
         JOptionPane.QUESTION_MESSAGE,
         null,
         possibilities,
         null);
    JOptionPane.showMessageDialog(null, "You chose to convert from " + currencyChosen + " to " + convertTo);

    if (currencyChosen = "Canadian Dollar")   <- This is not working
    }
}

尝试替换它:

 if (currencyChosen = "Canadian Dollar") 

使用equals方法:

  if ("Canadian Dollar".equals(currencyChosen )) 
   ...

用于赋值的=,而不是用于检查字符串之间的相等性。

在 Java 中比较字符串时,需要使用 equals 方法

if(string1.equals(string2))

因为 String1 和 String2 可能具有相同的值,但不引用相同的对象。

if(string1 == string2)

仅当 string1 和 string2 实际上引用同一对象时,才会返回 true

您可以在Java 字符串文档

(编辑:您的代码实际上将值"加拿大元"分配给 currencySelected。 注意"="和"=="之间的区别)

最新更新