当前位置: 首页 > 知识库问答 >
问题:

函数不会引用带有我正在创建的节点的链表

骆鸿运
2023-03-14

当我在main中调用readFile方法时,我得到了一个错误,即我的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;
        }
    }
}

这是我的主要驱动程序:

    import java.util.Scanner;
    import java.util.List;
    import java.io.*; 

    public class listTesting {
    private static final String FILENAME = "numbers.txt"; 

    public static void main(String[] args) throws IOException {

        Scanner keyboard = new Scanner(System.in); 

        System.out.print("Opening " + FILENAME);
        File file = new File(FILENAME);
        Scanner inputfile = new Scanner(file);

        linkedList list = new linkedList(); 

        // error here stating this method is undefined ??
        list = readFile(inputfile);

        System.out.println("\nThe sorted linked list: ");
        list.print(); 
    }
}

共有1个答案

公西俊才
2023-03-14

在类中,listTesting不是任何与节点类的链接。对于这一行

list = readFile(inputfile);

编译器试图在listTesting类中查找静态方法。

下一个我不清楚的是:

linkedList list = new linkedList(); 

// error here stating this method is undefined ??
list = readFile(inputfile);
 类似资料:
  • 所以我有一段代码: }; 我想去掉getInnerHtml函数。我目前已经剔除了driver.findElement和webdriver。By.css函数。我的driver.findElement函数返回一个我使用节点模块sinon-stub-promise的promise。 然而,当运行测试时,我不确定如何存根.getInnerHtml函数,我得到一个错误: 我试图改变driver.findEl

  • 我没有发现答案有什么帮助:作为作者,我想要绘制这样的图: 答案是在RDF中必须考虑三元组,但在这里不是这样吗? (地址,有街道,...) (地址,有邮政编码,...) (Person,has address,...) 我问的另一个原因是,我使用Jena Bean从Java类模型中生成RDF,结果也是一个嵌套结构。现在我想用Apache Jena做同样的事情,但我无法找到答案,文档中没有任何提示,我

  • 请帮我解决以下问题。我创建了默认节点。使用Visual Studio nodejs工具和express的js应用程序,现在我尝试调用在node中声明的setTimeout函数。d、 ts.代码如下: 但是代码没有编译,表示无法将“Number”转换为“NodeTimer” 据我所知,问题是它需要标准的setTimeout函数,而不是从节点获取函数。d、 ts。 我尝试指定对节点的引用。d、 带<代

  • 问题内容: 两者之间到底有什么区别 和 第一个只是加快字段初始化速度的捷径吗?有性能方面的考虑吗? 问题答案: 第二种形式总是创建一个空的地图。 第一种形式是地图文字的特殊情况。地图文字允许创建 非空 地图: 现在,您的(通用)示例: 是没有初始值(键/值对)的地图文字。它完全等同于: 此外,这是为地图指定初始容量(大于初始分配的元素数量)的唯一方法。例: 将创建一个地图,该地图具有足够的空间来容

  • 双链表节点是在main函数中创建的。Ender和header已定义。在删除节点函数处中断-ender为空。 释放最后一个和第一个输入的内存的最佳方法是什么,即:删除:233,A和888,F?

  • 我一直在获取x,下一个在节点中有私人访问权限。我试着在Node类和link List类中进行切换,但无论切换什么,都会出现相同的错误。我的节点保存在另一个文件中,看起来是这样的:`` 然后我的链表堆栈代码如下: