java如何比较字符内容是否相同
不是equals(),顺序不等也算相等,只要元素内容一样就行,比如adc=cba为true。求完整代码,谢谢。...
不是equals(),顺序不等也算相等,只要元素内容一样就行,比如adc=cba为true。求完整代码,谢谢。
展开
3个回答
展开全部
/*
最笨的方法,依次遍历比较
*/
import java.util.Scanner;
public class strcompare{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = null;
String b = null;
while(true){
System.out.println("please input two String:");
a = sc.next();
b = sc.next();
if(cmp(a,b)){
System.out.println("same");
}else{
System.out.println("No same");
}
}
}
public static boolean cmp(String a,String b){
boolean flag = false;
if (a.length()!=b.length()) {
flag = false;
}else{
char [] strA = a.toCharArray();
char [] strB = b.toCharArray();
int lenB = strB.length;
for (int i=0; i<strA.length; i++) {
for (int j = 0; j < strB.length; j++) {
if(strA[i]==strB[j])
{
strB[j] = ' ';
lenB--;
break;
}
}
}
if(lenB==0)
flag = true;
else
flag = false;
}
return flag;
}
}
展开全部
import java.util.Arrays;
public class Main {
String sortString(String str) {
char[] chs = str.toCharArray();
Arrays.sort(chs);
return new String(chs);
}
public static void main(String[] args) {
String strA = new String("abcd");
String strB = new String("dcba");
Main test = new Main();
if (test.sortString(strA).equals(test.sortString(strB))) {
System.out.println(strA+"与"+strB+"内容相同。");
}else {
System.out.println(strA+"与"+strB+"内容不相同。");
}
}
}
// 望采纳,谢谢
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码如下(笨方法遍历做的):
public static boolean compareString(String src,String dec){
int srcLength = src.length();
int decLength = dec.length();
//相同的字符数目
int countSimilar = 0;
if(srcLength!=decLength)return false;
for(int i = 0;i<srcLength; i++){
for(int j = 0;j<srcLength; j++){
if(src.charAt(i)==dec.charAt(j)&&(getCountTimes(src,src.charAt(i))==getCountTimes(dec,dec.charAt(j)))){
countSimilar++;
break;
}
}
}
if(countSimilar==srcLength)return true;
return false;
}
//获取字符串中特定字符出现的次数
public static int getCountTimes(String str,char ch){
int countTimes = 0;
for(int i = 0;i<str.length(); i++){
if(ch==str.charAt(i))countTimes++;
}
return countTimes;
}
public static boolean compareString(String src,String dec){
int srcLength = src.length();
int decLength = dec.length();
//相同的字符数目
int countSimilar = 0;
if(srcLength!=decLength)return false;
for(int i = 0;i<srcLength; i++){
for(int j = 0;j<srcLength; j++){
if(src.charAt(i)==dec.charAt(j)&&(getCountTimes(src,src.charAt(i))==getCountTimes(dec,dec.charAt(j)))){
countSimilar++;
break;
}
}
}
if(countSimilar==srcLength)return true;
return false;
}
//获取字符串中特定字符出现的次数
public static int getCountTimes(String str,char ch){
int countTimes = 0;
for(int i = 0;i<str.length(); i++){
if(ch==str.charAt(i))countTimes++;
}
return countTimes;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询