104 「static修羅道」 Step05 問題


問題

あなたは、文字列に関する簡単なユーティリティクラス StringUtil を作成しようとしています。

このクラスには、次の2つの static メソッドを定義してください:

  1. isNullOrEmpty(String str)
     → 引数が null または空文字列("")であれば true を返す
  2. capitalize(String str)
     → 引数の先頭1文字を大文字にし、残りはそのまま返す(例:"hello""Hello"

このクラスは インスタンスを生成せずに 使用できるようにし、
以下のような出力になるようにしてください:

isNullOrEmpty(null): true
isNullOrEmpty(""): true
isNullOrEmpty("hello"): false
capitalize("hello"): Hello
capitalize(""): (空文字列)

要件

  • StringUtil クラスを作成すること
  • public static boolean isNullOrEmpty(String str) を定義すること
  • public static String capitalize(String str) を定義すること
  • StringUtil クラスはインスタンス化されないように private コンストラクタを定義すること
  • テストは Main クラスで new StringUtil() を使わずに実行すること

テストコード(Main.java)

public class Main {
  public static void main(String[] args) {
    System.out.println("isNullOrEmpty(null): " + StringUtil.isNullOrEmpty(null));
    System.out.println("isNullOrEmpty(\"\"): " + StringUtil.isNullOrEmpty(""));
    System.out.println("isNullOrEmpty(\"hello\"): " + StringUtil.isNullOrEmpty("hello"));
    System.out.println("capitalize(\"hello\"): " + StringUtil.capitalize("hello"));
    System.out.println("capitalize(\"\"): " + StringUtil.capitalize(""));
  }
}

ヒント

  • isNullOrEmpty() では str == null || str.isEmpty() で判定できる
  • capitalize() では substring(0, 1).toUpperCase()substring(1) を使う
  • 空文字列やnullを受け取ったときの安全な処理を忘れずに

→ 解答例はこちら

104 ステップアップ問題 「static修羅道」