Java 网络 : Currency Converter

标签 java tomcat web

<分区>

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

       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 语句清楚地初始化了它们。谁能看出我做错了什么?

另外,我确信有比 8 个不同的 if 语句更好的方法来设置 Currency1 和 2 的值,但我只想让程序在我担心效率之前运行。如果你也想帮助我,我将不胜感激,但这不是优先事项。

谢谢!

最佳答案

改变这些行

int Currency1;
int Currency2;

int Currency1 = 0;
int Currency2 = 0;

改变喜欢的比较

outCurr == "USD"

更像

"USD".equals(outCurr)

关于Java 网络 : Currency Converter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32873613/

相关文章:

html - 如何在父容器内居中对齐div?

java - Java列表可以作为字符串输出吗?

java - 了解 Java 中的 Collections.reverseOrder() 方法

java - Tomcat 应用程序中的随机 ConcurrentModificationException

java - Log4j 找不到 appender,但它们存在

html - 鼠标悬停在列表图像上时显示文本

java - Camel 交易定界

java - 在 hibernate 中为实体 bean 属性编写注释

flash - 为什么我上传的文件是空的?

JavaScript:我们可以使用 javascript/angularjs 将由字符(_ & |)组成的 7 段数字转换为解析后的数字吗