Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

두 문자열의 공통 문자를 알파벳 순서로 인쇄하는 Java 코드

<시간/>

두 문자열의 공통 문자를 알파벳순으로 인쇄하려면 코드는 다음과 같습니다. -

예시

import java.io.*;
import java.util.*;
public class Demo{
   static void common_chars(String str_1, String str_2){
      int[] array_1 = new int[26];
      int[] array_2 = new int[26];
      int str_len_1 = str_1.length();
      int str_len_2 = str_2.length();
      for (int i = 0 ; i < str_len_1 ; i++)
      array_1[str_1.charAt(i) - 'a'] += 1;
      for (int i = 0 ; i < str_len_2 ; i++)
      array_2[str_2.charAt(i) - 'a'] += 1;
      for (int i = 0 ; i < 26 ; i++){
         if (array_1[i] != 0 && array_2[i] != 0){
            for (int j = 0 ; j < Math.min(array_1[i], array_2[i]) ; j++)
            System.out.print(((char)(i + 'a')));
         }
      }
   }
   public static void main(String[] args) throws IOException{
      String my_str_1 = "itsasample";
      String my_str_2 = "thisisasample";
      System.out.println("The common characters between the two strings in alphabetical order is :
   ");
      common_chars(my_str_1, my_str_2);
   }
}

출력

The common characters between the two strings in alphabetical order is :
aaeilmpsst

Demo라는 클래스에는 'common_chars'라는 함수가 포함되어 있습니다. 이 함수는 크기가 26(영어로 26개 알파벳을 나타냄)의 정수 배열 2개를 선언합니다. 길이는 각각 두 개의 다른 변수에 저장됩니다.

배열은 'a'의 ASCII와 모든 문자의 ASCII 사이의 다른 인덱스에서 반복되며, 문자 'a'의 ASCII는 모든 문자의 ASCII 값에서 빼고 1씩 증가합니다. 이렇게 하면 다음의 값만 채워집니다. 공통 배열입니다. 두 어레이의 최소 문자 수가 계산되어 콘솔에 인쇄됩니다. 메인 함수에서는 두 개의 문자열을 정의하고 이 두 문자열을 매개변수로 전달하여 함수를 호출합니다.