Menu
Coddy logo textTech

復習 - HashSet

CoddyのJavaジャーニー「ロジックとフロー」セクションの一部。レッスン 28/59。

challenge icon

チャレンジ

簡単

processHashSetという名前のメソッドを作成し、次の3つの引数を受け取るようにします。

  1. HashSet<Object>set
  2. 処理対象のObjectinput
  3. 実行する操作を指定するStringoperation

if/else文と、すでに学習したHashSetのメソッドを使用して、メソッドはoperationに基づいてStringを返す必要があります。

  • "add"inputをセットに追加します。追加された場合は"Added successfully"を、すでにセットに存在していた場合は"Element already exists"を返します。
  • "remove":セットからinputを削除します。削除された場合は"Removed successfully"を、セットに存在しなかった場合は"Element not found"を返します。
  • "find":セットにinputが含まれている場合は"Found at index: [index]"を返します([index]は反復順序における要素の位置です)。含まれていない場合は"Element not found"を返します。
  • "count""Number of elements: [count]"を返します。ここで[count]はセット内の要素数です(size()を使用します)。

まず入力を検証します。

  • setnullの場合:"Invalid set"を返します。
  • operationnull、または上記4つのいずれでもない場合:"Invalid operation"を返します。
  • "find"操作の場合、inputnullなら:"Cannot find null"を返します。

自分で試してみよう

import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;

public class Main {
    public static String processHashSet(HashSet<Object> set, Object input, String operation) {
        // ここにコードを書いてください
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 初期セットを読み取る
        String[] items = scanner.nextLine().split(",");
        HashSet<Object> set = new HashSet<>();
        if (!items[0].equals("empty")) {
            for (String item : items) {
                // まず整数として解析を試みる
                try {
                    set.add(Integer.parseInt(item));
                } catch (NumberFormatException e) {
                    set.add(item);
                }
            }
        }
        
        // 入力を読み取る
        String inputStr = scanner.nextLine();
        Object input;
        try {
            input = Integer.parseInt(inputStr);
        } catch (NumberFormatException e) {
            input = inputStr;
        }
        
        // 操作を読み取る
        String operation = scanner.nextLine();
        
        System.out.println(processHashSet(set, input, operation));
    }
}

ロジックとフローのすべてのレッスン

自分で練習してみよう: Javaオンラインコンパイラ