【问题标题】:Array List Java [closed]数组列表 Java [关闭]
【发布时间】:2019-02-21 21:17:33
【问题描述】:

请问有人可以帮我吗?我正在学习 Java 中的数组列表,我在本课中发现了一些有趣的东西(Stanford CS106a)

https://www.youtube.com/watch?v=YJ9FlCFi3c8&feature=youtu.be&list=PL84A56BC7F4A1F852&t=1385

但是当我尝试在 Eclipse 中运行这个程序时,它给了我很多错误:(

这有什么问题? (为什么变量 printList 的 void 类型无效?)

import java.util.ArrayList;
import acm.program.*;
class ArrayListEx extends ConsoleProgram {

    public void run () {

        ArrayList<String> sList = new ArrayList <String>();

        readList (sList); 
        printList (sList);  

        readList (sList);  
        printList (sList);


    private void readList (ArrayList list)  {


        while (true) {

            String line = readLine("Unesi tekst");
            if (line.equals("")) break;
            list.add(line);  
        }

    }

    private void printList (ArrayList lista) {

        println ("List contains: " + lista.size() + " elements.");

        for (int i = 0; i< lista.size(); i++) {

            println(lista.get(i));
        }

    }
    } 



}

【问题讨论】:

  • 您的运行方法中缺少 }!
  • 您的run 函数没有右大括号。
  • 也许您需要将 public void run() 更改为 public void init()?
  • “它给了我很多错误” 什么错误?编辑问题并显示出来。

标签: java arraylist


【解决方案1】:

问题是您的 run 函数上没有 } 括号,而 printList 函数末尾有一个额外的 }。还将 run() 更改为 init()。希望这对您有用。

import java.util.ArrayList;
import acm.program.*;


public class ArrayListEx extends ConsoleProgram {


    public void init () {
       ArrayList<String> sList = new ArrayList <String>();

       readList (sList); 
       printList (sList);  

       readList (sList);  
       printList (sList);
   }


   private void readList (ArrayList list)  {
        while (true) {
            String line = readLine("Unesi tekst");
            if (line.equals("")) break;
            list.add(line);  
        }

    }

    private void printList (ArrayList lista) {

       println ("List contains: " + lista.size() + " elements.");

        for (int i = 0; i< lista.size(); i++) {

            println(lista.get(i));
        }

    }
}

【讨论】:

  • 哦 :( 我不敢相信我这么粗心。非常感谢。很抱歉我发布了这么愚蠢的问题,我是一个初学者。
【解决方案2】:

改变

public void run ()

public void init()

或者

public static void main(String[] args)

run() 是 Java 内置接口 Runnable 的一个方法,在 Threading 中使用,看起来你在这里没有使用任何 Threading

【讨论】:

  • 更多关于run()和init()的区别stackoverflow.com/questions/261428/…
  • 非常感谢,很抱歉提出这个问题,我是一个初学者
  • 不要道歉,我们在某些时候都是初学者。我承认 Stack Overflow 对新手来说可能有点吓人,但不要让这让你分心。我保证这里的每个人都希望看到你变得更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多