从CMD执行java脚本时出错

时间:2013-05-03 03:35:58

标签: java cmd

我正在开发一个在线Java课程。我们目前正在构建以下实例化代码:

public class NameDriver
{
   public static void main (String[] args)
   {
      //Instantiation
      Name myName = new Name("Scott", "Robert", "Mitchell");
      Name myName1 = new Name("Scott", "Mitchell");
      Name myName2 = new Name("Mitchell");
      Name noName;
      System.out.println("myName: " + myName.toString());
   }
}

对于以下内容:

public class Name
{

   private String first;
   private String middle;
   private String last;

   //Constructor Methods
   public Name(String f, String m, String l)
   {
      first = f;
      middle = m;
      last = l;
   }

   public Name(String f, String l)
   {
      first = f;
      middle = "";
      last = l;
   }

   public Name(String l)
   {
      first = "";
      middle = "";
      last = l;
   }

   public Name()
   {
      first = "";
      middle = "";
      last = "";
   }

   public String toString()
   {
      return first + " " + middle + " " + last;
   }
 }

执行时的结果是错误消息“错误:无法找到或加载主类”。

Java文件的名称复制了主类的名称,因此似乎不是问题。

我做了一些研究,反复出现的主题似乎是我需要使用-cp选项指定类路径。我尝试使用完整的路径名称以及'。'从代码所在的目录,但无济于事。还值得一提的是,代码似乎成功编译,并且在执行时发生错误。

我很可能搞砸了代码 - 因为我刚刚开始使用Java,我只是看不到它,所以另一组眼睛会很棒。

1 个答案:

答案 0 :(得分:1)

1)它的Java不是Javascript

2)您没有以正确的方式编译和执行它。

即:

打开命令窗口。导航到java源文件所在的文件夹。然后运行Javac命令编译它们。

例如: Javac *.java

3)接下来,要运行,

导航到根类文件夹(生成类文件的位置)。如果您使用source dir作为已编译类的根文件夹,那么它就没问题了。

运行Java NameDriver以运行您的程序。

答案已更新:

1)我认为您只是在编译主类NameDriver。你需要编译所有的类。

例如: javac *.java。这将编译所有类。

2)您运行错误。

运行类文件时不能提及.java。 这是错误的>> java -cp . NameDriver.java

这是正确的>> java NameDriver