有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

TomcatJavaWeb:货币转换器

我正在为我的一门课做一个项目。在其中,我们需要创建一个货币转换器,它使用一个转换率数组将一种货币转换为另一种货币。但是,我无法让我的程序从数组中获取转换率

       private static final double[][] rates = 
     { {1.0, 0.624514066, 0.588714763, 0.810307 },
       {1.601244959, 1.0, 0.942676548, 1.2975},
       {1.698615463, 1.060809248, 1.0, 1.3764},
       {1.234100162, 0.772200772, 0.726532984, 1.0} };

       public double getFxRate(final String inCurr, final String outCurr){

       int Currency1;
       int Currency2;
       double rate;

       if(inCurr == "CAD"){
           Currency1 = 0;
       }
       if(inCurr == "EUR"){
           Currency1 = 1;
       }
       if(inCurr == "GBP"){
           Currency1 = 2;
       }
       if(inCurr == "USD"){
           Currency1 = 3;
       }
       if(outCurr == "CAD"){
           Currency2 = 0;
       }
       if(outCurr == "EUR"){
           Currency2 = 1;
       }
       if(outCurr == "GBP"){
           Currency2 = 2;
       }
       if(outCurr == "USD"){
           Currency2 = 3;
       }

         rate = rates[Currency1][Currency2];
         return rate;

       }
   }

您可以看到数组和我从数组中获取数字的方法。我得到一个错误,Currency1和Currency2可能没有被初始化,即使if语句清楚地初始化了它们。有人能看出我做错了什么吗

另外,我确信有一种更好的方法来设置Currency1和currency2的值,而不是8个不同的if语句,但我只希望程序在我担心效率之前工作。如果你也想帮我的话,我会很感激的,但这不是优先事项

谢谢大家!


共 (1) 个答案

  1. # 1 楼答案

    换线

    int Currency1;
    int Currency2;
    

    int Currency1 = 0;
    int Currency2 = 0;
    

    改变类似的比较

    outCurr == "USD"
    

    更像

    "USD".equals(outCurr)