7

我是一个java菜鸟。基本上我正在尝试创建一个程序来比较两个命令行参数,同时忽略大小写并打印出两个字符串中较小的那个。这是我到目前为止所拥有的:

public class CompareStrings
{
   public static void main(String[] args) 
   {
      String s1 = new String(args[0]);
      String s2 = new String(args[1]);

      if ( s1.compareToIgnoreCase(s2) > 0 )
         System.out.println(s2);
      else if ( s1.compareToIgnoreCase(s2) < 0 )
         System.out.println(s1);
      else   
         System.out.println("Both strings are equal.");
   }
}

我不断收到错误

Error: Could not find or load main class CompareString

当我尝试运行它时。我究竟做错了什么?

4

5 回答 5

15

“错误:无法找到或加载主类 CompareString”

您的错误消息说您无法加载类“CompareString”,但您的代码说您的类名是 CompareString s

于 2013-08-14T08:32:33.530 回答
6

你的班级名称是错误的。

你的错误说

错误:无法找到或加载主类 CompareString

但类的名称CompareStrings不是CompareString

使用启动java CompareStrings

阅读这个关于编译和启动 java 程序的好教程

于 2013-08-14T08:33:13.550 回答
3

首先,您尝试使用错误的类,应该是CompareStrings而不是CompareString

其次,我建议使用一个不错的实用程序库来处理来自 Google Code 站点的名为Cliche的命令行

第三,最好在调用之前检查给定的字符串是否为compareToIgnoreCase

于 2013-08-14T08:47:10.267 回答
2

如果这是您拥有的唯一代码,请将该文件另存CompareStrings.java为非 CompareString,并在命令提示符中保存javac CompareStrings.java。(为此,您需要配置 java)。然后java CompareStrings abc cbs用来运行它。这会给你作为abc

于 2013-08-14T08:37:23.193 回答
2

根据您的错误,我可以猜测您正在运行 CompareString 但您的类是 CompareStrings 所以要么运行 java CompareStrings 或将您的类重命名为 CompareString

于 2013-08-14T08:35:36.807 回答