在我的 HTML 模拟器程序上收到错误



我收到此错误:

The method get(int) is undefined for the type Queue<HtmlTag> on line 57

这是程序:

有谁知道该怎么做,因为我完全迷路了,这是我完成代码需要做的最后一件事

任何帮助将不胜感激!

package HTML;
import java.util.LinkedList;
import java.util.Stack;
import java.util.Queue;
public class HtmlValidator {
    private Queue<HtmlTag> list = new LinkedList<HtmlTag> ();
    public HtmlValidator() {
        Queue<HtmlTag> list = new LinkedList<HtmlTag> ();
    }
    public HtmlValidator(Queue<HtmlTag> tags) {
        Queue<HtmlTag> list = new LinkedList<HtmlTag> (tags);
        if (tags == null) {
            throw new IllegalArgumentException(" Invalid ");
        }
    }
    public void addTag(HtmlTag tag) {
        if (tag == null) {
            throw new IllegalArgumentException(" Invalid ");
        }
        list.add(tag);
    }
    public Queue<HtmlTag> getTags() {
        return list;
    }
    public void removeAll(String element) {
        int i;
        for (i = 0; i <= list.size(); i++) {
            list.get(i).getElement().equals(element);
            list.remove(i);
            if (element == null) {
                throw new IllegalArgumentException(" Invalid ");
            }
        }
    }
    public void validate() {
        int indent = 0;
        Stack<HtmlTag> t = new Stack<HtmlTag> ();
        HtmlTag currentTag = null;
        for (int i = 0; i < list.size(); i++) {
            currentTag = list.remove();
            list.add(currentTag);
            if (currentTag.isSelfClosing()) {
                indents(indent);
                System.out.println(currentTag);
            } else {
                System.out.println("Error: Unexpected tag: " + currentTag);
            }
            if (currentTag.isOpenTag()) {
                t.push(currentTag);
                indents(indent);
                System.out.println(currentTag);
                indent++;
            } else {
                indent--;
                indents(indent);
                System.out.println(currentTag);
                t.pop();
            }
        }
        while (!t.isEmpty()) {
            System.out.println("Error unclosed tag: " + t.pop());
        }
    }
    private void indents(int space) {
        for (int i = 0; i < space; i++) {
            System.out.println("    ");
        }
    }
}

java.util.Queue 接口不定义方法 get(int)。如果你想要一个具有这种访问权限的集合,你应该使用 java.util.List。

请注意,您的删除代码可能根本不起作用 - 您应该使用迭代器或更改代码以使用 java8 Streams。

相关内容

最新更新