java 中的倍数 类

Multiples classes in java

我是 Java 的新手,需要在同一目录下编译 4 个文件,为此,我在命令行中输入:

javac Bag.java Graph.java DirectedDFS.java principal.java

代码编译,然后我尝试运行我的文件,在classprincipal.java中调用tinyG.txt,为此,我在运行中我的命令行:

java principal < tinyG.txt

却出现错误:

java.lang.NoClassDefFoundError: graph/principal (wrong name: principal)

graph 这是我的包裹。我最大的问题是 class 校长将如何读取 .txt 文件

这是我的校长class:

package graph;

import java.util.Scanner;

import graph.Bag;
import graph.Graph;
import graph.DirectedDFS;

public class principal {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        Graph G = new Graph(in);

        // read in sources from command-line arguments
        Bag<Integer> sources = new Bag<Integer>();
        while (in.hasNext()) {
            int s = in.nextInt();
            sources.add(s);
        }
        
        in.close();

        DirectedDFS dfs = new DirectedDFS(G, sources);

        // print out vertices reachable from sources
        for (int v = 0; v < G.V(); v++) {
            if (dfs.marked(v)) System.out.print(v + " ");
        }
        System.out.println();
    }
}

我该如何解决这个问题?

正如评论中提到的那样 < 将标准输入流重定向到文件。所以你应该使用

Scanner in = new Scanner(System.in);

以及从命令行到 运行 程序你应该在包含名为 graph 的文件夹中并且你需要指定包:

java graph.principal < tinyG.txt