【问题标题】:How to print the contents of moving average horizontally in Java如何在Java中水平打印移动平均线的内容
【发布时间】:2020-01-09 04:44:33
【问题描述】:

我想在 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")));

【问题讨论】:

  • 这似乎不是 Javascript。

标签: java arrays beacon rssi


【解决方案1】:

在 for 循环上方添加:

String rssiLine = "";

替换这一行:

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

与:

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

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

Log.d("MovingAverage", rssiLine);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 2022-01-26
    相关资源
    最近更新 更多