-3

我正在尝试从我这样制作的 Node 类中打印一个字符串

import java.util.*;
public class graph1 {

    public static void main (String[] args){
        ArrayList<Node> web = new ArrayList<Node>();    
        web.add(new Node(0, "a", new int[]{1}));
        ...
        web.add(new Node(14, "o", new int[]{13}));

        for(int i = 0; i < web.size(); i++){
            System.out.println(getTitle.get[i]);
        }
    }
}
public class Node {
    int i;
    String title;
    int[] links;

    Node(int i, String title, int[] links){
        this.i = i;
        this.title = title;
        this.links = links;
    }

    public String getTitle (){
        return title;
    }
    public int[] getlinks (){
        return links;
    }

    public int getIndex (){
        return i;
    }
}

我收到一条错误消息,说 getTitle 不能变成一个变量,这没有意义,因为它返回一个字符串。

4

4 回答 4

2

getTitle() 是不同类中的方法,因此您必须通过该类的实例调用它。

new Node(...).getTitle();
于 2013-08-21T20:23:35.530 回答
2
for (int i = 0; i < web.size(); i++) {
    Node currentNode = web.get(i);
    System.out.println(currentNode.getTitle());
}
于 2013-08-21T20:26:22.970 回答
1

不确定什么不起作用,因为您一开始就没有提供太多东西:

循环似乎不正确:

for(int i = 0; i < web.size(); i++){
        System.out.println(getTitle.get[i]);

    }

应该按照以下内容阅读

// loop to get each item from ArrayList
for( int i = 0; i < web.size(); i++ ){
  // get a node from array
  Node thisNode = (Node)web.get(i);

  // print its title
  System.out.println( thisNode.getTitle() );

  // print other properties if needed
  System.out.println( thisNode.getIndex() );
}
于 2013-08-21T20:31:29.063 回答
0

循环应该是

for(int i = 0 ; i < web.size() ; i++) {
    System.out.println( web.get(i).getTitle() );

web是一个ArrayList<Node>web.get(i)是一个Node。并且getTitle()适用于这个特殊Node的 .

但是,以前的形式几乎完全废弃。你真正应该使用的是:

for(Node webElement : web ) {
    System.out.println( webElement.getTitle() );
于 2013-08-21T20:36:06.540 回答