Menu
CoddyTech

Ringkasan Alur Kontrol

Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 39 dari 59.

challenge icon

Tantangan

Buat method bernama processArray yang menerima dua argumen:

  1. Array 1D berisi object (data) dengan tipe campuran (Integer, String, atau Double)
  2. String (type) untuk menentukan tipe pemrosesan: "sum" atau "find"

Solusimu harus menunjukkan konsep-konsep berikut:

  • Gunakan klausa penjaga untuk memvalidasi input di awal method
  • Gunakan pencocokan pola instanceof untuk memeriksa dan melakukan casting tipe (misalnya, if (value instanceof Integer i))
  • Gunakan ekspresi switch dengan sintaks panah (misalnya, switch (type) -> {)
  • Gunakan perulangan berlabel dengan break atau continue (misalnya, search: for())

Aturan pemrosesan:

  • "sum": Jumlahkan semua nilai numerik (abaikan string)
  • "find": Temukan nilai numerik pertama yang lebih besar dari 100

Pesan yang dikembalikan harus berupa:

  • Jika array null atau kosong: kembalikan "Invalid input"
  • Jika type tidak valid: kembalikan "Invalid type"
  • Untuk "sum": kembalikan "Sum: X"
  • Untuk "find": kembalikan posisi nilai tersebut dalam data, atau "Not found" jika tidak ada nilai numerik yang lebih besar dari 100

Coba sendiri

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) {
        // Tulis kodemu di sini
    }
    
    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));
    }
}

Semua pelajaran di Logika & Alur

Latihan sendiri: Compiler Java online