Java 功能赢得';t引用带有节点I'的链表;我在创造
整个夏天我都在读一本关于Java数据结构的书,对于链表的基础知识和创建带有节点的链表,我感到很困难 具体地说,我试图找出如何将未排序的整数文件传递到函数中,对它们进行排序,并打印排序后的链表。我知道我可能会让它变得比需要的更复杂,但我只是不知道这些节点是如何链接的,以及如何返回它们 我想我可以创建一个list对象,并将其用作对第一个节点的引用,而第一个节点又将引用前面的节点,直到列表的末尾,该节点用null表示。这是我试图从书中遵循的逻辑,但有些东西没有点击 当我在main中调用readFile方法时,我得到一个错误,即readFile方法未定义。这怎么可能Java 功能赢得';t引用带有节点I'的链表;我在创造,java,linked-list,nodes,Java,Linked List,Nodes,整个夏天我都在读一本关于Java数据结构的书,对于链表的基础知识和创建带有节点的链表,我感到很困难 具体地说,我试图找出如何将未排序的整数文件传递到函数中,对它们进行排序,并打印排序后的链表。我知道我可能会让它变得比需要的更复杂,但我只是不知道这些节点是如何链接的,以及如何返回它们 我想我可以创建一个list对象,并将其用作对第一个节点的引用,而第一个节点又将引用前面的节点,直到列表的末尾,该节点用null表示。这是我试图从书中遵循的逻辑,但有些东西没有点击 当我在main中调用readFile
import java.util.Scanner;
import java.util.List;
public class Node {
int value;
Node next;
/**
* Constructor
* @param value The element to store in this node, an integer from file
*/
public Node(int value) {
this.value = value;
next = null;
}
public static Node first;
public static Node last;
public void linkedList() {
first = null;
last = null;
}
/**
* function sorts integers
* @param inputFile file of integers from user
* @return linked list of sorted integers
*/
public static Node readFile(Scanner inputFile) {
while (inputFile.hasNext()) {
int data = inputFile.nextInt();
if (first == null) {
first = new Node(data);
last = first;
}
if (data < first.value) {
first.next = first;
first = new Node(data);
}
if (data > first.value) {
last.next = new Node(data);
last = last.next;
}
}
return first;
}
/**
* function prints linked list
*/
public void print() {
Node ref = first;
while (ref != null) {
System.out.println(ref.value + " ");
ref = ref.next;
}
}
}
类内listTesting没有任何到节点类的链接。 这条线
list = readFile(inputfile);
编译器尝试在listTesting类中查找静态方法
我不清楚的下一项:
linkedList list = new linkedList();
// error here stating this method is undefined ??
list = readFile(inputfile);
您可以使用默认构造函数创建列表变量,但就在使用readFile方法的结果更改它之后。同样在节点类中,readFile返回节点类(而不是linkedList)
我知道您在Java方面还处于起步阶段,所以请更仔细地阅读有关Java的书(甚至尝试在数据结构之前重复Java基础知识)。类内列表测试没有任何与节点类的链接。 这条线
list = readFile(inputfile);
编译器尝试在listTesting类中查找静态方法
我不清楚的下一项:
linkedList list = new linkedList();
// error here stating this method is undefined ??
list = readFile(inputfile);
您可以使用默认构造函数创建列表变量,但就在使用readFile方法的结果更改它之后。同样在节点类中,readFile返回节点类(而不是linkedList)
我知道您在Java方面还处于起步阶段,所以请更仔细地阅读有关Java的书(甚至尝试在数据结构之前重复Java基础知识)。不清楚您的问题是什么。我遇到一个错误,我在驱动程序的主方法中调用readFile。我的目的是将已排序的节点列表返回到列表,然后打印列表。Eclipse声明我的readFile方法未定义,但它没有定义。
readFile
是为节点定义的,而不是为列表测试定义的。试着调用Node.readFile(inputfile)
天哪,我发誓我已经试了半打了。非常感谢。你知道你只能有一个链表实例,因为第一个和最后一个都是静态的?我可能会给你一些意想不到的惊喜。不清楚你的问题是什么。我在驱动程序的主方法中调用readFile时出错。我的目的是将已排序的节点列表返回到列表,然后打印列表。Eclipse声明我的readFile方法未定义,但它没有定义。readFile
是为节点定义的,而不是为列表测试定义的。试着调用Node.readFile(inputfile)
天哪,我发誓我已经试了半打了。非常感谢。你知道你只能有一个链表实例,因为第一个和最后一个都是静态的?我可能会给你一些意想不到的惊喜。