两个String如何比较?请教:) 怎么比较2个字符串的具体差异呢?比如说:String a = "asd";String b = "as";怎么能得到a与b的差异String c = "d";呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 char a1[] = a.toCharArray();char b1[] = b.toCharArray();然后循环判断处理下面我就不写了 上面那样写会不会效率不高?别人教我这样: public static String compareString(){ String a = "sed"; String b = "se"; String c = a.replace(b,""); System.out.print(c); return c; }不过还是要谢谢楼上!:) 楼主,你没有发觉这个方法很死吗?如果 String a = "se"; String b = "sed"; 那你这段程序就不能用了,或者是:String a = "sed"; String b = "es"; 那怎么比? 假如String a = "asd";String b = "ased";呢?那个方法只适用于特例 还是建议这样:char a1[] = a.toCharArray();char b1[] = b.toCharArray();然后循环判断处理 replace(b,"");效率不一定高 public static String compareString(){String a = "sed";String b = "se";if(a.contains(b)){String c = a.replace(b,"");}else{c = a;}System.out.print(c);return c;} 不能只比较字符的不同吧,还要比较字符出现在的位置。比如:asdfasd1234这两个字符串前123位是一样的第4位不同,且不同字符“f"---""具体的话,我想也应该要这样来实现吧。char a1[] = a.toCharArray();char b1[] = b.toCharArray(); String a = "asd";String b = "as";if(a.requre(b)!=true){ String c = a.replace(b,"");system.out.println(c);} 设计代码时最重要的是重用性,能适用与各种情况,上面比较合适的就是.toCharArray()再循环判断,支持!顶一下! import java.util.*;public class sssss{ public String sSrt(String str) { String str2 =""; for(int i=0;i <str.length();i++) { char c=str.charAt(i); int n=str.indexOf(c); if(str.lastIndexOf(c) == n) { str2+=c; } } System.out.println(str2); return str2; } public static void main(String args[]){ String str = "abc123东方红"; String str2 = "abcde12345东方红太阳升"; sssss s= new sssss(); String str3=s.sSrt(s.sSrt(str)+s.sSrt(str2)); System.out.println("唯一字符"+str3);}} 最近用java设计程序时遇到个问题,请各位大虾说说自己的设计思想。 输入输出流 jsp分页页面跳转 java 高手进! java能调用winapi吗 jpcap包的问题 在winme win98中如何设置环境变量 请各位高手解答 急!!!一个很简单的问题,谁回答出来我给他(她)100分!!!! 菜鸟上路。有关rmi???????? 求大神解惑 工厂设计模式 如何用JAVA取数据库中最大值并返回最大值+1
char b1[] = b.toCharArray();
然后循环判断处理
下面我就不写了
public static String compareString(){
String a = "sed";
String b = "se";
String c = a.replace(b,"");
System.out.print(c);
return c;
}
不过还是要谢谢楼上!:)
那个方法只适用于特例
char a1[] = a.toCharArray();
char b1[] = b.toCharArray();
然后循环判断处理
String a = "sed";
String b = "se";
if(a.contains(b))
{
String c = a.replace(b,"");
}
else
{
c = a;
}
System.out.print(c);
return c;
}
比如:
asdf
asd
1234
这两个字符串前123位是一样的第4位不同,且不同字符“f"---""
具体的话,我想也应该要这样来实现吧。
char a1[] = a.toCharArray();
char b1[] = b.toCharArray();
String b = "as";if(a.requre(b)!=true){
String c = a.replace(b,"");
system.out.println(c);
}
上面比较合适的就是
.toCharArray()再循环判断,支持!顶一下!
public String sSrt(String str)
{
String str2 ="";
for(int i=0;i <str.length();i++)
{
char c=str.charAt(i);
int n=str.indexOf(c);
if(str.lastIndexOf(c) == n)
{
str2+=c;
}
}
System.out.println(str2);
return str2;
}
public static void main(String args[]){
String str = "abc123东方红";
String str2 = "abcde12345东方红太阳升";
sssss s= new sssss();
String str3=s.sSrt(s.sSrt(str)+s.sSrt(str2));
System.out.println("唯一字符"+str3);
}
}