gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:10:34 25 4
gpt4 key购买 nike

我正在尝试创建一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com