理解しました。汎用的なチェックメソッドを作成して、数値チェックや桁数チェックを行うサンプルコードを以下に示します。これにより、異なる条件で配列の要素をチェックできるようになります。
import java.util.Arrays;
public class ArrayElementCheck {
public static void main(String[] args) {
// 整数型の配列を作成
int[] numbers = { 10, 25, 7, 32, 18 };
// 数値チェック
System.out.println("=== 数値チェック ===");
checkArray(numbers, ArrayElementCheck::isNumber);
// 桁数チェック
System.out.println("=== 桁数チェック ===");
checkArray(numbers, n -> isDigitCount(n, 2)); // 2桁の数値かどうかをチェック
// 他のチェックを追加したい場合はここにメソッド参照を追加
// String型の配列を作成
String[] words = { "apple", "banana", "cherry", "date" };
// 文字数チェック
System.out.println("=== 文字数チェック ===");
checkArray(words, n -> isCharacterCount(n, 5)); // 5文字の単語かどうかをチェック
}
// 数値チェック用メソッド
public static boolean isNumber(int number) {
return true; // ここに数値チェックのロジックを追加
}
// 桁数チェック用メソッド
public static boolean isDigitCount(int number, int digitCount) {
return String.valueOf(number).length() == digitCount;
}
// 文字数チェック用メソッド
public static boolean isCharacterCount(String word, int charCount) {
return word.length() == charCount;
}
// 汎用的な配列要素チェックメソッド
public static <T> void checkArray(T[] array, CheckFunction<T> checkFunction) {
for (int i = 0; i < array.length; i++) {
T element = array[i];
boolean result = checkFunction.check(element);
// チェック結果を出力
System.out.println("Element " + (i + 1) + ": " + element);
System.out.println("Check Result: " + result);
System.out.println("-----------------------");
}
}
// 関数型インターフェースの定義
interface CheckFunction<T> {
boolean check(T element);
}
}
上記のサンプルコードでは、ArrayElementCheck
クラスにisNumber
、isDigitCount
、isCharacterCount
など、異なるチェックを行うメソッドを追加しました。これらのメソッドはそれぞれ数値のチェック、桁数のチェック、文字数のチェックを行います。
また、checkArray
メソッドは汎用的な配列要素チェックメソッドです。このメソッドは関数型インターフェースCheckFunction
を使用して、異なるチェックロジックをカプセル化しています。checkArray
メソッドは配列とチェック用の関数を受け取り、配列内の要素に対してチェックを実行しています。
これにより、異なるチェック内容を簡単に追加・変更できるようになります。必要に応じて、さらなるチェックメソッドを追加し、checkArray
メソッドを呼び出して異なるチェックを行うことができます。