【问题标题】:java.awt.Queue cannot be accessed from outside package无法从外部包访问 java.awt.Queue
【发布时间】:2019-10-29 09:10:47
【问题描述】:

java版本:SDK 1.8.0_151

IDE:IDEA IntelliJ

import 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 的类并从上述网站复制代码时,会报告错误。

“java.awt.Queue”在“java.awt”中不公开。无法从外部包访问

如何解决?

【问题讨论】:

  • 原始出处,第 2 行
  • 您提供的链接没有导入java.awt.Queue。这个错误是你一个人的错误。
  • 我会很感激对downvote的澄清。这个问题既不重复也不问得不好。它定义明确。

标签: java compiler-errors queue


【解决方案1】:

你需要java.util.Queue而不是java.awt.Queue,它可以容纳你想要的任何东西

java.awt 包是关于 UI、图形和图像的:Documentationjava.awt.Queue 用于容纳 java.awt.Event 元素


仅用于改进:对于循环 FIFO 的实施,这里有一些信息

这可以给出类似的东西

public void newNum(double num) {
    window.add(num);
}

【讨论】:

  • 你不断破坏newNum() 方法。
  • 如果他使用CircularQueue,无论他会在哪里找到它。他很难找到java.util.Queue。我看不到相关性。这是一个简单的导入问题。不要夸大其词。
  • 你不知道谁投了反对票,更不用说为什么了,但这个答案有足够多的错误和无关紧要,足以证明反对票是合理的。
  • @user207421 所以没有容错、改进和善意的地方吗?好的不错
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 2021-01-12
  • 1970-01-01
相关资源
最近更新 更多