java语言如何实现两个字符串的比较,谢谢
一次性输入字符串,例如hark_Hark,比较_前后的字符串,不区分大小写,前>后,输出为1,等于输出为0,小于则输出为-1,怎么用java实现,求大神帮忙,谢谢...
一次性输入字符串,例如 hark_Hark,比较_前后的字符串,不区分大小写,前>后,输出为1,等于输出为0,小于则输出为-1,怎么用java实现,求大神帮忙,谢谢
展开
3个回答
展开全部
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("输入字符串格式不正确!");
}
可能还有一些其他的校验,楼主请自行添加
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询