本文主要是介绍编写自定义的字符串一致性匹配方法,只要两个字符串包含同样的字符, 不管字符的顺序如何,都认为两个字符串一致,如:”aabbcc”和”abcabc”被认为是一致的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<pre name="code" class="java">
package com.huiwen;
import java.util.Scanner;
/**
*
* 2011-5-12 下午02:56:09
* 比较字符相等
*
* 编写自定义的字符串一致性匹配方法,只要两个字符串包含同样的字符,
* 不管字符的顺序如何,都认为两个字符串一致,如:”aabbcc”和”abcabc”被认为是一致的
*/
public class CompareTo {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.print("输入第一个字符串:");
String s1=input.nextLine();
System.out.print("输入第二个字符串:");
String s2=input.nextLine();
boolean bool=false;
int l=s1.length();
int h=s2.length();
char[] a=s1.toCharArray();
char[] b=s2.toCharArray();
int k=0;//k为比较正确的次数
/*for(int i=0;i<l;i++)
{
a[i]=s1.charAt(i);
}
for(int i=0;i<h;i++)
{
b[i]=s2.charAt(i);
}
*/
if(l!=h)
{
bool=false;
}
else
{
char temp;
for(int i=0;i<l;i++)
{
for(int j=i;j<l;j++)
{
if(a[i]==b[j])
{
temp=b[j];
b[j]=b[i];
b[i]=temp;
k++;
break;
}
}
}
if(k==l)
{
bool=true;
}
}
if(bool==true)//比较正确的次数为字符串的长度
{
System.out.println("两字符一致!");
}else
{
System.out.println("两字符不一致!");
}
}
}
/*
Scanner in = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
String array1 = in.nextLine();
System.out.println("输入第二个字符串:");
String array2 = in.nextLine();
boolean flag = consistent(array1, array2);
if(flag)
System.out.println("一致");
else
System.out.println("不一致");
}
public static boolean consistent(String array1,String array2){
boolean flag = false;
if(array1.length() != array2.length())
return flag;
char[] tempArray1 = array1.toCharArray();
char[] tempArray2 = array2.toCharArray();
char temp ;
int length = array1.length();
for(int i = 0,j; i < length; i++){
for(j = i ; j < length ; j++){
if(tempArray1[i] == tempArray2[j]){
if(i != j){
temp = tempArray2[i];
tempArray2[i] = tempArray2[j];
tempArray2[j] = temp;
}
flag = true;
break;
}
}
if(j == length)
return flag = false;
}
return flag;
}
}*/
这篇关于编写自定义的字符串一致性匹配方法,只要两个字符串包含同样的字符, 不管字符的顺序如何,都认为两个字符串一致,如:”aabbcc”和”abcabc”被认为是一致的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!