Menu
Coddy logo textTech

Özet - HashSet

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 28 / 59.

challenge icon

Görev

Kolay

processHashSet adlı ve üç bağımsız değişken alan bir yöntem oluşturun:

  1. Bir HashSet<Object> (set)
  2. İşlenecek bir Object (input)
  3. Gerçekleştirilecek işlemi belirten bir String (operation)

Daha önce öğrendiğiniz if/else ifadelerini ve HashSet yöntemlerini kullanarak yöntem, operation değerine göre bir String döndürmelidir:

  • "add": input değerini kümeye ekleyin. Eklenmişse "Added successfully", zaten kümede mevcutsa "Element already exists" döndürün.
  • "remove": input değerini kümeden kaldırın. Kaldırılmışsa "Removed successfully", kümede yoksa "Element not found" döndürün.
  • "find": Küme "Found at index: [index]" değerini içeriyorsa input döndürün; burada [index], yineleme sırasındaki öğenin konumudur. Aksi takdirde "Element not found" döndürün.
  • "count": "Number of elements: [count]" döndürün; burada [count], kümedeki öğe sayısıdır (size() kullanın).

Önce girdileri doğrulayın:

  • set değeri null ise: "Invalid set" döndürün.
  • operation değeri null ise veya yukarıdaki dört değerden biri değilse: "Invalid operation" döndürün.
  • "find" işlemi için input değeri null ise: "Cannot find null" döndürün.

Kendin dene

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) {
        // Kodunuzu buraya yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Başlangıç kümesini oku
        String[] items = scanner.nextLine().split(",");
        HashSet<Object> set = new HashSet<>();
        if (!items[0].equals("empty")) {
            for (String item : items) {
                // Önce tamsayı olarak ayrıştırmayı dene
                try {
                    set.add(Integer.parseInt(item));
                } catch (NumberFormatException e) {
                    set.add(item);
                }
            }
        }
        
        // Girdiyi oku
        String inputStr = scanner.nextLine();
        Object input;
        try {
            input = Integer.parseInt(inputStr);
        } catch (NumberFormatException e) {
            input = inputStr;
        }
        
        // İşlemi oku
        String operation = scanner.nextLine();
        
        System.out.println(processHashSet(set, input, operation));
    }
}

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi