Я работаю с данными датчика акселерометра Android. Я собираюсь определить шаблоны движения пользователя, используя данные датчика. Большая часть работы выполнена. Но проблема заключается в отслеживании значений непрерывных осей и их сохранении в 2D-массиве. В качестве тестового приложения я хочу заполнить массив double[2][3]
следующими данными.Как повторно использовать 2D-массив?
[9.594786195244101, 7.118138482942524, 14.240399748761671],
[9.45045389772222, 7.35019779174396, 13.271781719935262]
Можно заполнить массив. Но проблема в том, что я хочу повторно заполнить тот же массив для получения следующего набора значений. Вот мой код для этого.
double[][] test;
static int sampleNumber = 1;
static int j = 1;
public void onSensorChanged(SensorEvent event) {
if (started) {
if(sampleNumber == (j*2)-1)
{
test = null;
test = new double[2][3];
j+=1;
}
test[sampleNumber-1][0] = magAvg;
test[sampleNumber-1][1] = magMin;
test[sampleNumber-1][2] = magMax;
sampleNumber += 1;
}
}
При выполнении этого кода создается получить ArrayOutOfBoundsException когда sampleNumber = 3. Я хочу создать новый массив или начать заправку тот же массив при sampleNumber = 1,3,5, ...
Как я могу это сделать?
вы хотите использовать тот же тест [2] [3] массив, когда onSensorChanged() вызвали, что вы хотите правильно? –