14_codes


# コーディング例

void main() {
  // 2つの文字列「岡山県津山市石山寺」「和歌山県高野山金剛峯寺」を
    変数「orgStr_1」「orgStr_2」にそれぞれ格納。
  String orgStr_1 = '岡山県津山市石山寺';
  String orgStr_2 = '和歌山県高野山金剛峯寺';

  // 上記変数「orgStr_1」「orgStr_2」を用いてcompareStr関数を
    呼び出し、その戻り値を変数「sameChars」に格納
  String sameChars = compareStr(orgStr_1, orgStr_2);

  // 上記変数「sameChars」を出力
  print(sameChars);
}

String compareStr(String str_1, String str_2){
  // 引数「str_1」「str_2」で2つの文字列を受け取り、それぞれの文字列
    を1文字ずつ分離しリスト化(「sepChars_1」「sepChars_2」に格納)
  List<String> sepChars_1 = str_1.split('');
  List<String> sepChars_2 = str_2.split('');
  // 共通文字格納用リスト「gethChars」を宣言
  List<String> gethChars = [];

  // 「split」「contains」「add」を用いて、共通文字を「gethChars」
    に格納
  for (String str in sepChars_1) {
    if(sepChars_2.contains(str)) {
      if (!gethChars.contains(str)) {
        gethChars.add(str);  
      }
    }
  }

  // 「gethChars」内の文字を文字列として返す。
  return gethChars.join();
}