方法Java,如何从二维双精度数组中找到特定值?
我需要计算两个地点之间的价格,我有以下数据结构,用于保存区域之间的价格:
Washington Niagra Falls New York
Washington 0, 6.30, 8.30
Niagra Falls 5.30, 0 , 5.30
New York 3.20, 4.30, 0
我如何创建一个方法,它将根据字符串X和字符串Y的位置在二维数组中查找值
以下是我目前掌握的代码:
String Location X = "Washington";
String Location Y = "New York";
String XY = {"Washington", "Niagara Falls", "New York"};
//Cost of the trips
double[][] prices = {
{0, 6.30, 8.30},
{5.30, 0, 5.30},
{3.20, 4.30, 0 },
};
在上述情况下,华盛顿->;纽约应该是8.30
方法应该是这样的:
public double calculateFees(String X, String Y){
//add code here.
double fares;
return fares;
}
# 1 楼答案
从
XY
获取X
的索引,比如i
从
XY
中获取Y
的索引,比如j
使用,
prices[i][j]
获取车费您可能需要对给定字符串的数组XY进行两次循环测试。通过使用从字符串到整数索引的哈希映射,可以节省时间
# 2 楼答案
你需要弄清楚哪些数组索引适用
在
X
或Y
不在数组中的情况下处理这个问题留给读者作为练习还要确保
prices
和XY
可以从calculateFees
访问XY
也应该是String[]
,而不是String