java版本:SDK 1.8.0_151IDE:IntelliJ IDEAimport java.awt.Queue;import java.util.LinkedList;public class SimpleMovingAverage { private final Queue<Double> window = new LinkedList<Double>(); private final int period; private double sum; public SimpleMovingAverage(int period) { assert period > 0 : "Period must be a positive integer"; this.period = period; } public void newNum(double num) { sum += num; window.add(num); if (window.size() > period) { sum -= window.remove(); } } public double getAvg() { if (window.isEmpty()) {return 0.0;} // technically the average is undefined return sum / window.size(); } public static void main(String[] args) { double[] testData = {1, 2, 3, 4, 5, 5, 4, 3, 2, 1}; int[] windowSizes = {3, 5}; for (int windSize : windowSizes) { SimpleMovingAverage ma = new SimpleMovingAverage(windSize); for (double x : testData) { ma.newNum(x); System.out.println("Next number = " + x + ", SMA = " + ma.getAvg()); } System.out.println(); } }}上面的代碼來自https://rosettacode.org/wiki/Averages/Simple_moving_average#Java當我創建一個名為 SimpleMovingAverage 的類并從上述網站復制代碼時,會報告錯誤?!癹ava.awt.Queue”在“java.awt”中不是公開的。無法從外部包訪問怎么解決呢?
1 回答

DIEA
TA貢獻1820條經驗 獲得超2個贊
不需要java.util.Queue
,java.awt.Queue
里面可以裝任何你想要的東西
該java.awt
包是關于 UI、圖形和圖像的:Documentation
,此處java.awt.Queue
用于保存java.awt.Event
元素
僅用于改進:對于循環 FIFO 的實現,這里有一些信息
是否有一個固定大小的隊列可以刪除過多的元素?
CircularQueue的基本實現
這可以給類似的東西
public?void?newNum(double?num)?{ ????window.add(num); }
添加回答
舉報
0/150
提交
取消