我正在将传感器中的数据读取到两个静态双 [] 中,称为增益和相位。然后根据用户按下哪个按钮开始从传感器收集数据,我将此数据保存到另一个双 []。
前任:
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");
}
然后我希望绘制原始增益和相位数据。在此之前,我将增益转换为 dB,将相位转换为度数。
IE
for (int i=0; i<_steps; i++) {
phase[i]=Math.toDegrees(phase[i]);
gain[i]=20*Math.log10(gain[i]);
}
此绘图工作正常,但在转换增益和相位后,我保存的数据“lgain”“lphase”等发生了变化。就好像它们已立即重新分配给新的增益和相位值。我用 System.out.pritln 命令包围了上面的代码,以查看之前和之后的 lgain、lphase 等值,这肯定是它们被更改的地方。我使用 ctrl-f 来查找 lgain、lphase 等的所有实例,并且它们没有在其他任何地方重新分配。任何想法如何解决这一问题?
C