新手上路,有一事不明,望解答

darkstoneiii 2002-03-27 10:04:16
本人记得在c++中有字符串的比较
比如说两个String
一个是cat
一个是mouse
比较的时候是否能够用“<”直接连接?

我在用java编程的时候
比较两个String的时候
出现如下的提示:
F:\***\******\jdk\bin\Order.java:11: operator > cannot be applied to java.lang.String,java.lang.String
if (args[i] > args[i+1])
^
1 error
Finished

为什么?怎么样解决呢?
...全文
60 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dickensi 2002-03-27
  • 打赏
  • 举报
回复
这句:
int flag = args[i].compareTo(args[i+1]);
将导致数组越界!
darkstoneiii 2002-03-27
  • 打赏
  • 举报
回复
谁有java文档的下载地址啊?
贴给小弟
谢谢了
Dickensi 2002-03-27
  • 打赏
  • 举报
回复
compareTo()
JAVA 不能重载运算符!
除了toString() 的+!
darkstoneiii 2002-03-27
  • 打赏
  • 举报
回复
ok,实际上这道小题是这样的
编一段java程序,从命令行接收字符串作为参数,并排序输出,例如:
java StringSorter dog cat bird fish
输出:
bird
cat
dog
fish
我写的小程序是这样的
import java.io.*;
import java.lang.*;
public class Order{
public static void main(String args[])
{
String temp;
for (int j = 0; j < args.length; j++)
{
for (int i = 0; i < args.length; i++)
{
int flag = args[i].compareTo(args[i+1]);
if (flag > 0)
{
temp = args[i];
args[i] = args[i+1];
args[i+1] = temp;
}
}
}
System.out.println("The result is:" );
for (int i = 0; i < args.length; i++)
{
System.out.println(args[i]);
}
}
}

编译成功,但是运行的时候
如果不带任何参数,程序正确运行
但是一旦带参数
就会出现这样的提示:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at Order.main(Order.java:17)


请高手指点,多谢了
z_vampire 2002-03-27
  • 打赏
  • 举报
回复
equalsIgnoreCase(String anotherString) 比较两个字符串,不考虑大小写
compareTo(String anotherString) 比较两个字母先后次序,
z_vampire 2002-03-27
  • 打赏
  • 举报
回复
equalsIgnoreCase(String anotherString) 比较两个字符串,不考虑大小写
compareTo(String anotherString) 比较恋歌字母先后次序,
peacock_king 2002-03-27
  • 打赏
  • 举报
回复
str1.compareTo(String str2);

String部分比较重要,建议完整地看看java.lang.String包。
darkstoneiii 2002-03-27
  • 打赏
  • 举报
回复
What the problem is that i don't have Java Platform 1.2 API Specification to know what the specific use of each class, can you tell me where i can download it?
darkstoneiii 2002-03-27
  • 打赏
  • 举报
回复
What the problem is that i don't have Java Platform 1.2 API Specification, so can you tell me where i can download it? Thx.
snowredfox 2002-03-27
  • 打赏
  • 举报
回复
你想用">"实现什么功能?!~~~
如果想比较两个字符串是否相等的话使用args[i].compareTo(args[i+1) ,为0则相等

如果你想知道一个字符号串是否被另一个字符串包含的话,用args[i].indexOf(args[i+1]),返回值为args[i+1]在args[i]中的起始位置,如果为-1,则不存在

String类的其它方法可以具体查看Java Platform 1.2 API Specification
darkstoneiii 2002-03-27
  • 打赏
  • 举报
回复
请楼上的给我具体解释一下这两个函数的用法好吗?
lordypcsdn 2002-03-27
  • 打赏
  • 举报
回复
同 craks
int compareTo(String anotherString)
Returns:
the value 0 if the argument string is equal to this string; a value less than 0 if this string is lexicographically less than the string argument; and a value greater than 0 if this string is lexicographically greater than the string argument.
craks 2002-03-27
  • 打赏
  • 举报
回复
int compareTo(String anotherString) Compares two strings lexicographically.

int compareToIgnoreCase(String str)
Compares two strings lexicographically, ignoring case considerations.

上面错了,重发,试试这个
craks 2002-03-27
  • 打赏
  • 举报
回复
String并没有重载>运算符
可以这样:
用String.toCharArray()返回一个char数组
然后逐个比较
Gernett 2002-03-27
  • 打赏
  • 举报
回复
String型数据不能直接用<或者>比较,我记得String类有个compare似的方法,可以用那个。

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧