我是一个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
当我尝试运行它时。我做错了什么?
答案 0 :(得分:14)
“错误:无法找到或加载主类CompareString”
您的错误消息显示您无法加载“CompareString”类,但您的代码表明您的类名称是CompareString s 。
答案 1 :(得分:5)
你的班级名称错了。
您的错误说
错误:无法找到或加载主类CompareString
但是课程的名称是CompareStrings
而不是CompareString
使用java CompareStrings
答案 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