java - ADT 不访问其他类,构造函数不工作

标签 java java.util.scanner

我正在尝试创建一个 Node 类,我希望默认值为全 0 和 null,然后当我使用构造函数调用节点类时,我想设置它们。使用我现在设置的代码,我不断得到 符号:方法 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”方法。

关于java - ADT 不访问其他类,构造函数不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28733233/

相关文章:

java - 在文本中查找单词

Java Scanner - 将换行符读取到字符串中?

java - Java 中的扫描器 nextLine 问题

java - 具有多个参数的构造函数

java - 程序误读了我的输入

JAVA-错误: cannot find symbol -- haven't found answer on site yet

java - 什么是成员变量?它和实例变量一样吗?

java - 在 Android 中显示 LaTex

java - 选择ListPreference时播放声音

java - 寻找 java 1.6 解决方法来解决明显的编译器问题