• 编写自定义的字符串一致性匹配方法,只要两个字符串包含同样的字符, 不管字符的顺序如何,都认为两个字符串一致,如:”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;
    }


    }*/
    
        
            

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    linux 常用命令
    books list
    开发文化,沟通、会议、总结
    编程资源
    敏捷开发流程
    服务器安全部署指南
    服务器应用部署规范
    单元测试
    弱弱的页码问题
    实验A javaScript XML数据操作按姓名查询
  • 原文地址:https://www.cnblogs.com/lovelyx/p/4867162.html
Copyright © 2020-2023  润新知