java语言如何实现两个字符串的比较,谢谢

一次性输入字符串,例如 hark_Hark,比较_前后的字符串,不区分大小写,前>后,输出为1,等于输出为0,小于则输出为-1,怎么用java实现,求大神帮忙,谢谢

String[] list ;
list = "hark_Hark".split("_");
String str1 = list[0].toLowerCase();
String str2 = list[1].toLowerCase();
System.out.println(str1.compareTo(str2));
if(str1.compareTo(str2)>0){
System.out.println("1");
}else if(str1.compareTo(str2)== 0){ // 也可以用str1.equals(str2)
System.out.println("0");
}else{
System.out.println("-1");
}

 其中 compareTo 比较  如果前面大于后面  返回值大于0 ,相反则返回负数,相等返回0

追问

谢谢你的回答,不过输入是不确定的,那我怎么接受键盘的输入呢,不好意思,我初学java

追答 Scanner input = new Scanner(System.in);
String[] list;
System.out.print("请输入要比较的字符串,以_隔开:");
// 获取键盘输入
String str = input.next();
list = str.split("_");
if (list != null && list.length == 2) {
// 进行小写处理
String str1 = list[0].toLowerCase();
// 进行小写处理
String str2 = list[1].toLowerCase();
// 进行比较
if (str1.compareTo(str2) > 0) {
System.out.println("1");
} else if (str1.equals(str2)) {
System.out.println("0");
} else {
System.out.println("-1");
}
} else {
System.out.print("输入字符串格式不正确!");
}

可能还有一些其他的校验,楼主请自行添加

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-08
hark_Hark转为大写或者小写 然后字符串分割成char类型的数组 单个比较。
第2个回答  2014-10-08
两个字符串怎么算大小 哪个是大
相似回答