ADT 不访问其他 class,构造函数不工作

ADT not accessing other class, constructors not working

我正在尝试创建一个节点 class,我希望默认值为全 0 和 null,然后当我使用构造函数调用节点 class 时,我想设置它们。使用我现在设置的代码,我不断得到 符号:方法 Node(int,int,java.lang.String) 位置:节点类型的变量 n1 我不明白我的默认构造函数有什么问题,因为它只有在我删除它时才会起作用。

class Node{
  private int ticks;
  private int jobId;
  private String name;
  private Node next;



 public Node(){
   next = null;
   ticks = 0;
   jobId = 0;
   name = " ";

  }

  public Node(int t,int j, String name){
    ticks = t;
    jobId = j;
    name = name;

  }

  //sets next to node
  public void setNext(Node next){
   next = next ;

  }

}//end class node

主要----------------------------------------- --------------

public class lab3{
public static void main(String[] args) throws Exception{
  //Open File
  File file = new File("p3.dat");
  Scanner in = new Scanner(file);



   int jobId = storeJobIdNum(in);
   int ticks = storeTicks(in);
   String name = storeName(in);

     Node n1 = new Node();
   n1.Node(ticks,jobId,name);

   jobId = storeJobIdNum(in);
   ticks = storeTicks(in);
   name = storeName(in);
 //  String line = in.nextLine();
  // String name = line;

 //System.out.println(jobId+" "+num+" "+numTicks);

//  n1.setNode(,,);



}//end main

public static String storeName(Scanner in){
  String name = in.next();
  System.out.println(name);
  return name;
}

public static int storeJobIdNum(Scanner in){
  int num = in.nextInt();
  System.out.println(num);
  return num;
}

public static int storeTicks(Scanner in){
  int num = in.nextInt();
  System.out.println(num);
  return num;
}

}//end class

p3.dat 看起来像 ==> 1 4 名字 并且有几行不同。

创建对象后,您将无法使用它调用另一个构造函数。相反,创建一个负责更改字段的方法。

将此作为您设置属性的方法调用:

Node n1 = new Node();
n1.set(ticks,jobId,name);

然后在 Node 中,使用这个代替另一个构造函数:

public void set(int t,int j, String name){
    this.ticks = t;
    this.jobId = j;
    this.name = name;
} 

您通常会听到这些被称为 "setter" 方法。