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

使用命令行参数比较java中的两个字符串,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.compareTo

我是一个爪哇人。基本上,我试图创建一个程序来比较两个命令行参数,同时忽略大小写,并打印出两个字符串中较小的一个。以下是我到目前为止的情况:

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.");
   }
}
当我试着运行它的时候。我做错了什么

“错误:无法找到或加载主类比较程序”


错误消息显示无法加载类“CompareString”,但代码显示您的类名为CompareStrings

您的类名错误

你的错误是

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

但是类的名称是
CompareStrings
而不是
CompareString

使用java CompareStrings启动


根据你的错误阅读这篇关于

的好教程,我可以断定你正在运行CompareString,但你的课程是CompareStrings
因此,运行java CompareString或将类重命名为CompareString

如果这是您仅有的代码,请将该文件另存为
CompareStrings.java
not CompareString,并在命令提示符
javac CompareStrings.java
中。(要做到这一点,您需要配置java)。然后使用
java CompareStrings abc cbs
运行此操作。这将给你一个输出,作为
abc
首先,你试图使用错误的类,应该是
CompareStrings
而不是
CompareString

其次,我建议使用一个不错的实用程序库来处理从Google代码站点调用的命令行


第三,在调用
compareToIgnoreCase
之前,最好先检查给定的字符串是否为null。是否设置了默认值?这是完整的文件吗?你是如何编译的?你是如何运行它的?我只是想弄清楚:问题不在于你的代码+1更快:)哥们,如果你再获得两张赞成票,你很快就会得到一个徽章:)这也是你的第一个答案,所以:)最好的运气这个答案现在需要被接受。非常感谢,解决了我的问题。接受你的回答:]
Error: Could not find or load main class CompareString