从main调用自定义类

时间:2013-08-21 20:22:34

标签: java

我正在尝试从我这样做的Node类中打印一个String

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不能变成varible,这没有任何意义,因为它返回一个字符串。

4 个答案:

答案 0 :(得分:3)

getTitle()是另一个类中的方法,因此必须通过该类的实例调用它。

new Node(...).getTitle();

答案 1 :(得分:3)

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

答案 2 :(得分:2)

不确定什么不起作用,因为你没有提供太多的开头:

循环似乎不正确:

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() );
}

答案 3 :(得分:1)

循环应该是

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

webArrayList<Node>web.get(i)NodegetTitle()适用于此特定Node

然而,之前的表格几乎完全废弃。你应该真正使用的是:

for(Node webElement : web ) {
    System.out.println( webElement.getTitle() );