Özet - Akış Kontrolü
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 39 / 59.
Görev
processArray adında iki argüman alan bir metot oluşturun:
- Karışık tipler (Integer, String veya Double) içeren Nesnelerin tek boyutlu dizisi (
data) - İşleme tipi için bir String (
type): "sum" veya "find"
Çözümünüz şu kavramları göstermelidir:
- Metodun başında girdiyi doğrulamak için guard clause'ları kullanın
- Tipleri kontrol etmek ve dönüştürmek için instanceof pattern matching kullanın (ör.,
if (value instanceof Integer i)) - Ok sözdizimi ile switch ifadeleri 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 ekleyin (stringleri yoksayın)
- "find": 100'den büyük ilk sayısal değeri bulun
Dönüş mesajları şöyle olmalıdır:
- Dizi null veya boşsa: "Invalid input" döndürün
- Tip geçersizse: "Invalid type" döndürün
- "sum" için: "Sum: X" döndürün
- "find" için: bulunan değerin indeksi veya "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) {
// Buraya kodunuzu 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
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme