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
我是 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