如何在Java中水平打印移动平均线的内容



我想水平打印 Java 中一个特定信标的 Rssi 移动平均值的内容。窗口周期大小为 10。但是,使用此代码,它在logcat中垂直打印结果。有谁知道该怎么做?谢谢

for (Map.Entry < String, ArrayList < Float >> Beaconss: BeaconRssWrtId.entrySet()) {
List < Float > NewArray;
List < Float > ArrayOfRss = Beaconss.getValue();
if (ArrayOfRss.size() < 10) //WindowSize
{
NewArray = ArrayOfRss;
} else
NewArray = ArrayOfRss.subList(ArrayOfRss.size() - 10, ArrayOfRss.size()); //WIndowSize
float sum1 = 0;
float sum2 = 0;
for (int i = 0; i < NewArray.size(); i++) {
sum1 = sum1 + NewArray.get(i);
}
float avg1 = sum1 / NewArray.size(); //Moving average
MovingAvg.put(Beaconss.getKey(), avg1); //It contains Estimated RSS using Moving Average
Log.d("MovingAverage", String.valueOf(MovingAvg.get("1")));

在 for 循环上方添加以下内容:

String rssiLine = "";

替换此行:

Log.d("MovingAverage", String.valueOf(MovingAvg.get("1")));

跟:

rssiLine += (String.valueOf(MovingAvg.get("1"))+'');

然后将此行添加到 for 循环的末尾:

Log.d("MovingAverage", rssiLine);

相关内容

最新更新