java - 错误 - java 中的 "array required, but LinkedList<LLObj> found"

标签 java arrays linked-list required

我是 JAVA 新手,我正在尝试使用 java.util.LinkedList 库和动态数据类型(类)在 java 中实现简单的链接列表代码

代码如下-

import java.util.LinkedList;
import java.util.Scanner;

//defining a custom data-type (class)
class LLObj{
static int NodeInt;
static char NodeChar;
LLObj(int x, char y){
    NodeInt = x;
    NodeChar = y;
    }
}

//main class    
public class LL2{

static int ChosenOption, TempInt, NodeCounter, TempCounter;
static char TempChar;

//creating scanner object
static Scanner ScannerObj = new Scanner(System.in);

//creating a link list
static LinkedList<LLObj> list = new LinkedList<>();

//main function
public static void main(String[] args){

    NodeCounter = 0;

    //driving menu
    for(;;){
    System.out.println("Enter 1 to add a node to linked list");
    System.out.println("Enter 2 to print the current list");
    ChosenOption = ScannerObj.nextInt();
    if(ChosenOption == 1){
        AddNew();
        }
    else if(ChosenOption == 2){
        PrintList();
        }
    else{
        System.out.println("Wrong Input. Try again!");
        }
    }
}

//AddNew function
public static void AddNew(){

    //getting input
    System.out.println("Enter integer");
    TempInt = ScannerObj.nextInt();
    System.out.println("Enter character");
    TempChar = ScannerObj.next().charAt(0);

    //Making a temperory node
    LLObj temp = new LLObj(TempInt,TempChar);

    //adding node to the list
    list.addLast(temp);
    }

public static void PrintList(){
    TempCounter = 0;
    while(TempCounter < NodeCounter){
        System.out.println(list[TempCounter].NodeInt);
        System.out.println(list[TempCounter].NodeChar);
        System.out.println("");
        TempCounter++;
        }
    }       
}

编译时收到的错误是 - “需要数组,但找到了 LinkedList”

请帮助我 1. 理解为什么会产生这个错误 2.消除此错误

任何帮助将不胜感激:)

最佳答案

LinkedList 没有 [] 运算符:

System.out.println(list[TempCounter].NodeInt);
                     //^^incorrect^^

使用LinkedList.get(int index)enhanced for loop迭代 list 中的所有元素。

关于java - 错误 - java 中的 "array required, but LinkedList<LLObj> found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15654612/

相关文章:

java - 搜索字符串是否相差一个字符

Python:如何检索和绘制 numpy 数组的未屏蔽部分?

java - 合并两个整数数组

c++ - 链表加法/减法函数正在改变参数的值?

java - Maven 构建在 xsd 模式验证中失败

java - Spring 数据 : Create entities (and DB entries) using boolean fields of another entity

java - 从 AsyncTask 返回多个数据

arrays - 设置固定大小的ArrayList

Java ListIterator 性能

java - 有效地将元素添加到列表顶部