使用命令行参数比较java中的两个字符串

时间:2013-08-14 08:29:41

标签: java

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

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

5 个答案:

答案 0 :(得分:14)

  

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

您的错误消息显示您无法加载“CompareString”类,但您的代码表明您的类名称是CompareString s

答案 1 :(得分:5)

你的班级名称错了。

您的错误说

  

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

但是课程的名称是CompareStrings而不是CompareString

使用java CompareStrings

启动

阅读compiling and launching java programs

上的这个好教程

答案 2 :(得分:3)

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

其次,我建议使用一个很好的实用程序库来处理来自Google Code site的名为Cliche的命令行

第三,在你打电话给compareToIgnoreCase之前检查给定的字符串是否为空是件好事

答案 3 :(得分:2)

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

答案 4 :(得分:2)

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