有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法解析java链表

首先,我对这方面还不熟悉,所以如果我犯了一些正式的错误,请不要太严厉

所以我想学习一下Java中的链表。现在,我在main方法中创建了一个链表,名为“liste”,并创建了一个名为“addToList”的方法,该方法将向我的列表中添加一个字符串

import java.util.LinkedList;

public class LinkedLists{

    public static void main(String[] args) {
        LinkedList<String> liste = new LinkedList<String>(); 
        addToList("Mario");
    }

    public static void addToList(String pElement) {
        liste.add(pElement);
    }

}

当我在main方法中添加一个元素并将其打印出来时,它工作得很好,但当我这样做时,会出现以下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    liste cannot be resolved

        at LinkedLists.addToList(LinkedLists.java:11)
        at LinkedLists.main(LinkedLists.java:7)

共 (1) 个答案

  1. # 1 楼答案

    您正在函数addToList中使用变量liste。但是变量是在main函数中定义的,在addToList中不可用

    让我们浏览一下错误消息

    Exception in thread "main" java.lang.Error: Unresolved compilation problem:

    所以编译不起作用,因为

    liste cannot be resolved

    编译器不知道符号liste。它无法解析其含义

    at LinkedLists.addToList(LinkedLists.java:11)

    最上面的条目显示编译器在哪里遇到这个问题。在本例中,它是第11行文件LinkedLIsts.java中的addToList函数

    如果要与addToList共享liste,可以将其作为参数传递:

    public class LinkedLists{
    
        public static void main(String[] args) {
            LinkedList<String> liste = new LinkedList<String>(); 
            addToList(liste, "Mario");
        }
    
        public static void addToList(LinkedList<String> liste. String pElement) {
            liste.add(pElement);
        }
    }
    

    或者将其从main移动到LinkedLists的范围内:

    public class LinkedLists{
    
        static LinkedList<String> liste = new LinkedList<String>(); 
    
        public static void main(String[] args) {
            addToList("Mario");
        }
    
        public static void addToList(String pElement) {
            liste.add(pElement);
        }
    }