package test_5; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /*No.418 ミンミンゼミ * * - まず "mi" から始まる。 * - その後いくつかの "-" がつく。"-" の数は 0 でもかまわない。 * - 最後に "n" で終わる。 * あなたの仕事は, 文字列 SS がいくつのミーン文字列を繰り返しているかを数えることです。 * */ public class Question_05_0526_2 { static final int MIN_LENGTH = 3; static final int MAX_LENGTH = 100; static final char LAST_CHARACTER = 'n'; public static void main(String[] args) { InputStreamReader re = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(re); try { int minCount = 0; String minString = br.readLine(); if (NumJudgment(minString)) { for (char c : minString.toCharArray()) { if (c == LAST_CHARACTER) { minCount++; } } // セミが何回「ミーン」と鳴いたかを出力 System.out.println(minCount); } else { System.out.println("桁数が不正です"); } } catch (IOException e) { System.out.println("エラーが発生しました"); } finally { try { re.close(); br.close(); } catch (IOException e) { System.out.println("InputStreamReader、BufferedReaderクローズ中にエラーが発生しました"); } } } /** * 有効値判定メソッド * * @param minString * @return true:問題なし、false:エラー */ private static boolean NumJudgment(String minString) { Boolean result = false; if (MIN_LENGTH <= minString.length() && minString.length() <= MAX_LENGTH) { result = true; } return result; } }