我有以下两个java文件。当我在命令行上运行它或尝试键入java TwoThreadsTest.java时,会出现错误消息,指出无法找到或加载主类TwoThreads.java 我已经使用下面的代码创建了一个java文件名nThreadsTest,它编译并给出显示两个线程的输出,即0 figi和0 jamaica。如何修改此代码以在执行时接受来自命令行的输入。输入将是一个非负整数,这个数字将用于确定要执行的线程数,例如。执行java nThreadsTest 5将执行并启动5个线程。对于每个调用的线程,从1到n的整数(其中n是从命令行传递的数字),将作为线程名称传递给线程吗?
class TwoThreadsTest {
public static void main (String[] args) {
new SimpleThread("Jamaica").start();
new SimpleThread("Fiji").start();
}
}
class SimpleThread extends Thread {
public SimpleThread(String str) {
super(str);
}
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i + " " + getName());
for (int j = 1; j < 100000; j++) { // 5 zeroes
for (int k = 1; k < 1000000; k++) { // 6 zeroes
for (int l = 1; l < 10000000; l++) { // 7 zeroes
int m = j + k + l;
}
}
}
try {
sleep((int)(Math.random() * 10000));
sleep(10000);
} catch (InterruptedException e) {}
}
System.out.println("DONE! " + getName());
}
}
答案 0 :(得分:2)
您的代码编译并运行。我认为您尝试通过调用&#39; java SimpleThread.java&#39;来运行它。但是,首先你需要通过调用&#39; javac&#39;来编译它。然后运行java SimpleThread&#39;没有&#39; .java&#39;延期。希望这有帮助!
编辑:
此外,如果您安装了编译Java代码所必需的JDK(Java Development Kit),则必须设置环境变量以使用&#39; javac&#39;直接从命令提示符命令。以下信息直接取自Oracle's Java documentation。
更新PATH环境变量(可选) 您可以在不设置PATH环境变量的情况下运行JDK,也可以选择设置它以便可以方便地从任何目录运行JDK可执行文件(javac.exe,java.exe,javadoc.exe等),而无需键入命令的完整路径。如果未设置PATH变量,则需要在每次运行时指定可执行文件的完整路径,例如:
C:&GT; &#34; C:\ Program Files \ Java \ jdk1.7.0 \ bin \ javac&#34; MyClass.java 永久设置PATH变量非常有用,因此在重新启动后它将保持不变。
要永久设置PATH变量,请将jdk1.7.0 \ bin目录的完整路径添加到PATH变量中。通常,此完整路径类似于C:\ Program Files \ Java \ jdk1.7.0 \ bin。在Microsoft Windows上按如下所示设置PATH变量:
单击开始,然后单击控制面板,再单击系统。
单击“高级”,然后单击“环境变量”。
在系统变量中为PATH变量添加JDK安装的bin文件夹的位置。以下是PATH变量的典型值:
C:\ WINDOWS \ system32; C:\ WINDOWS; C:\ Program Files \ Java \ jdk1.7.0 \ bin 注意:
PATH环境变量是由分号(;)分隔的一系列目录,不区分大小写。 Microsoft Windows从左到右依次查找PATH目录中的程序。 一次只能在路径中为JDK创建一个bin目录。第一个实例后面的那些被忽略。 如果您不确定在何处添加路径,请将其添加到PATH变量值的右侧。 新路径在设置PATH变量后打开的每个新命令窗口中生效。