-1

我正在做一个课堂项目,我似乎不知道下一步该做什么。说明如下:

• 它包含一个名为getFxRate 的公共方法,该方法返回一个double,表示作为第一个和第二个String 参数传入的货币代码之间的汇率。第一个字符串是来源或“输入”货币,而第二个是目标或“输出”货币。

我知道我应该使用该空间来找出如何从数组中调用其中一个费率,但我不知道该怎么做。

此类将链接到一个 html 页面,用户将在其中选择两种货币,然后输入金额,因此让该类读取他们选择的选项是另一回事

public class fxDataModel {

/* create array for currency codes */
private static final String[] codes = {"CAD", "EUR", "GBP", "USD"};

/* create and populate 2d array for conversion */
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 String[] getFxCurrencies(){
    return codes;
}

public double getFxRate (final int inCode, final int outCode){
int inCurr, outCurr;
    double rate;

    for (inCurr = 0; inCurr < 4; inCurr++){
        String inCurrency = codes[inCurr];
        if (inCode.equals(inCurrency)) {
            break;
        }
    }

    for (outCurr = 0; outCurr < 4; outCurr++){
        String outCurrency = codes[outCurr];
        if (outCode.equals(outCurrency)) {
            break;
        }
    }

    rate = rates[inCurr][outCurr];
    return rate;

}



}

编辑:这是我的教授给我们的提示

getFxRate 的原型是 public double getFxRate(String inCurrency, String outCurrency) 所以给定 inCurrency(例如,"USD")和 outCurrency(例如,"CAD"),getFxRate 方法在数组 F/X 汇率中查找并返回将美元转换为加元的那个。现在,F/X 比率的数组是 double[][],即一个二维数组。在我的假设示例中,[3][0] 处的值回答了汇率数组中的哪个汇率转换为美元 -> 加元的问题。这是因为在货币数组 String[] 中,CAD 位于第 0 位,USD 位于第 3 位。因此,给定 inCurrency 和 outCurrency,在货币字符串 [] 数组中找到索引,并使用汇率数组中的这些索引返回单个值。它' s 非常简单的 Java 循环遍历字符串数组以找到匹配的货币及其相关索引。那是 Java 我的东西,我把它留给你,但要思考循环。

4

1 回答 1

1

货币汇率成对给出。例如,CADEUR 汇率为您提供购买 1 CAD(加元)需要多少 EUR(欧元)。

让我们考虑一个截断的rates表:

     CAD   USD
CAD    1   0.81 
USD   1.23    1

因此,如果您的用户选择 CAD 和 CAD 作为两个输入,则返回 1。如果您的用户选择 CAD 和 USD,则返回 0.81。

我认为问题在于获取两个货币代码并在rates表格中找到正确的行号和列号并返回适当的汇率。

编辑:我将遍历货币数组并找到给定的两个货币代码的索引。我会使用这两个指数来查找汇率应该是多少。

于 2012-10-03T04:28:14.890 回答