为什么该程序在运行时出现错误

时间:2020-07-16 21:37:28

标签: java

有人可以告诉我为什么,当我运行如下所示的程序时,出现错误(如下代码所示)

public class Main{
  Node next = null;
  int data;

  public void Node(int d) {
    data = d;
  }

  void appendToTail(int d) {
    Node end = new Node(d);
    Node n = this;
    while (n.next != null) {
        n = n.next;
    }
    n.next = end;
  }
}

Node node1 = new Node(5);

node1.appendToTail(7);

我收到此错误,该错误说明了有关类,枚举或预期的接口的信息。有人可以解释这意味着什么以及我对我的代码必须做什么吗?

Main.java:19: error: class, interface, or enum expected
Node node1 = new Node(5);
^
Main.java:21: error: class, interface, or enum expected
node1.appendToTail(7);
^
2 errors
compiler exit status 1

1 个答案:

答案 0 :(得分:0)

根据您提供的内容。看来您正在尝试创建链接列表。

程序有几个问题

  1. 该类的名称必须为Node而不是Main,否则node1.appendToTail(17)将不起作用
  2. classinterfaceenum之外的代码行。
Node node1 = new Node(5);
node1.appendToTail(7);

这些行必须位于上面提到的三行中。对于这个问题,它必须位于main类的Node方法内部。

  1. 构造函数没有返回类型。
  public Node(int d) {
    data = d;
  }

最终结果

class Node {
  int data;
  Node next;

  public Node(int d) {
    data = d;
  }

  void appendToTail(int d) {
    Node end = new Node(d);
    Node n = this;
    while (n.next != null) {
        n = n.next;
    }
    n.next = end;
  }

  public static void main(String[] args) {
    Node node1 = new Node(5);
    node1.appendToTail(7);   
  }

}