У меня есть 2D Array (DataValueForStation
), который представляет идентификатор станции в первом столбце и значение станции во втором столбце.Иногда id Station не в нормальном порядке.Есть также двумерный массив AtStation
, который состоит из ID Station, но в случайном порядке.Я не знаю, как создать 1d массив для AtStation
, и поэтому я создаю только 2D массив.Проблема в том, что я хочу создать массив (ValueStation
), который извлекает значение станции, используя Id Station в качестве идентификатора.Ошибка показывает ArrayIndexOutofBoundException
.
import java.util.Arrays;
public class Looping {
public static void main(String[] args)
{
double [][] DataValueForStation = {{11, 1000}, {22, 2000}, {35, 3000}, {46,4000}};
int [][] AtStation = {{22},{46},{35},{11}};
double [][] ValueStation = new double [AtStation.length][0];
int j = 0;
for (int i=0; i<DataValueForStation.length; i++)
{
if (j<AtStation.length && AtStation[j][0] == DataValueForStation[i][0])
{
ValueStation[j][0] = DataValueForStation[i][1];
j++;
}
else if (j<AtStation.length && AtStation[j][0] != DataValueForStation[i][0])
{
for (int k=0; k<DataValueForStation.length; k++)
{
if (j<AtStation.length && AtStation[j][0] == DataValueForStation[k][0])
{
ValueStation[j][0] = DataValueForStation[k][1];
j++;
}
}
}
}
System.out.println(Arrays.deepToString(ValueStation));
}
}