0

我正在处理一项任务,我正在尝试将一个元素添加到 LinkedList。第一个代码块已给出,不应更改。第二个block是按照教授给我们的UML写的,位于另外一个类中。

import java.io.*;
import java.util.LinkedList;

public class Assignment10
{
   public static void main(String[] args)
   {
       char input1;
       String inputInfo = new String();
       int operation2;
       String line = new String();

       //create a linked list to be used in this method.
       LinkedList list1 = new LinkedList();

       try
        {
         // print out the menu
         printMenu();

         // create a BufferedReader object to read input from a keyboard
         InputStreamReader isr = new InputStreamReader (System.in);
         BufferedReader stdin = new BufferedReader (isr);

         do
          {
           System.out.print("What action would you like to perform?\n");
           line = stdin.readLine().trim();  //read a line
           input1 = line.charAt(0);
           input1 = Character.toUpperCase(input1);

           if (line.length() == 1)   // check if a user entered only one character
            {
             switch (input1)
              {
               case 'A':   //Add String
                 System.out.print("Please enter a string to add:\n");
                 String str1 = stdin.readLine().trim();
                 System.out.print("Please enter an index to add:\n");
                 inputInfo = stdin.readLine().trim();
                 int addIndex = Integer.parseInt(inputInfo);
                 list1.addElement(addIndex, str1);
                 break;

public void addElement(int index, Object element)
   {
       if(index < 0)
       {
           IndexOutOfBoundsException ex = new IndexOutOfBoundsException();
           throw ex;
       }
       LinkedListIterator iterator = new LinkedListIterator();
       for(int i = 0; i < index; i++)
       {
           if(iterator.hasNext())   // check if the iterator has a next value before
               iterator.next(); // moving to next element
           else
           {
               NoSuchElementException exception = new NoSuchElementException();
               throw exception;
           }
       }                    
       iterator.add(element);
   } // end of addElement

这是 Eclipse 告诉我的:线程“main”java.lang.Error 中的异常:未解决的编译问题:方法 addElement(int, String) 未定义类型 LinkedList。

同样,我不应该更改第一个代码块,所以我的 addElement 方法一定有问题。有任何想法吗?抱歉,这是不可编译的,但我认为这实际上更像是一个概念性问题。

4

1 回答 1

5

我认为问题在于有人感到困惑。

  • 一方面,您似乎正在实现一个调用addElement似乎是自定义列表实现的方法。(你没有向我们展示整个班级......)

  • 另一方面,您似乎试图addElement在标准java.util.LinkedList类上调用不存在的。

其中一件事情显然是错误的。要么你误解了你应该做什么,要么你的讲师给了你一个Assignment10不正确的测试工具类()。(是的,讲师确实会犯错误。他们只是人类。)

我建议你问你的讲师或你的导师澄清。(请保持礼貌和恭敬。对于一个讲师来说,没有什么比一个“面对”错误,尤其是想象中的错误的学生更烦人的了。)

于 2013-04-06T03:25:39.967 回答