Menu
Coddy logo textTech

Özet - Akış Kontrolü

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

challenge icon

Görev

processArray adlı, iki bağımsız değişken alan bir metot oluşturun:

  1. Karışık türler (Integer, String veya Double) içeren 1B Object dizisi (data)
  2. İşleme türünü belirten bir String (type): "sum" veya "find"

Çözümünüz aşağıdaki kavramları göstermelidir:

  • Metodun başında girdiyi doğrulamak için koruma koşulları kullanın
  • Türleri kontrol etmek ve dönüştürmek için instanceof kalıp eşleştirmesini kullanın (ör. if (value instanceof Integer i))
  • Ok sözdizimiyle switch ifadelerini kullanın (ör. switch (type) -> {)
  • break veya continue ile etiketli döngüler kullanın (ör. search: for())

İşleme kuralları:

  • "sum": Tüm sayısal değerleri toplayın (dizeleri yok sayın)
  • "find": 100'den büyük ilk sayısal değeri bulun

Döndürülmesi gereken mesajlar:

  • Dizi null veya boşsa: "Invalid input" döndürün
  • Tür geçersizse: "Invalid type" döndürün
  • "sum" için: "Sum: X" döndürün
  • "find" için: bu değerin data içindeki konumunu döndürün veya 100'den büyük bir sayısal değer yoksa "Not found" döndürün

Kendin dene

import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static String processArray(Object[] data, String type) {
        // Kodunuzu buraya yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dataJson = scanner.nextLine();
        String type = scanner.nextLine();
        
        Type arrayType = new TypeToken<Object[]>(){}.getType();
        Object[] data = new Gson().fromJson(dataJson, arrayType);
        
        System.out.println(processArray(data, type));
    }
}

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

Kendi başına pratik yap: Online Java derleyicisi