Я читаю данные с датчика на два статических двойных [], называемых Gain и Phase. Затем, в зависимости от того, какая кнопка нажата для начала сбора данных от датчика, я сохраняю эти данные в другой двойной [].данные переписываются. Android
Ex:
if (What_Button == 1){
oGain = gain;
oPhase = phase;
output.setText("OPEN saved");
}
if (What_Button == 2){
sGain = gain;
sPhase = phase;
output.setText("SHORT saved");
}
if (What_Button == 3){
lGain = gain;
lPhase = phase;
output.setText("LOAD saved");
}
Затем я хочу, чтобы построить оригинальный усиление и фаза данных. Прежде чем я это сделаю, я преобразую коэффициент усиления в дБ, а фазу - в градусы.
т.е.
for (int i=0; i<_steps; i++) {
phase[i]=Math.toDegrees(phase[i]);
gain[i]=20*Math.log10(gain[i]);
}
Это зарисовки работает нормально, но после усиления и фазы были преобразованы мои сохраненные данные «lgain» «lphase» и т.д. меняются. Это как если бы они были мгновенно переназначены в новые значения Gain и Phase. Я окружил код выше командами System.out.pritln для просмотра значений lgain, lphase и т. Д. До и после, и это, безусловно, там, где они меняются. Я использовал ctrl-f, чтобы найти все экземпляры lgain, lphase и т. Д., И они не переназначаются нигде. Любые идеи, как это исправить?
C
Показать больше кода, что вокруг МФС? –
Вы не копируете данные, вы копируете ссылки, поэтому это тот же массив. –