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" 方法。
我正在尝试创建一个节点 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" 方法。