Özet - Metot parametreleri
- Java kursu
- Başlangıç
- Ders 82/116
- 5 dk
İlkel, nesne ve varargs'ı birleştirerek bir istatistik fonksiyonu yazarsın.
Özet: Metot parametreleri
Bu grupta parametre geçişinin dört yönünü gördün: ilkel değerle geçiş, nesne referansı, varargs ve final parametreler.
İlkel parametreler kopyalanır; dışarısı etkilenmez. Nesne parametreleri referans kopyası geçirir; içerik değişimi dışarıyı etkiler. varargs ile esnek sayıda argüman alabilirsin. final ise yeniden atamayı engeller.
Şimdi bunları birleştirerek küçük bir istatistik fonksiyonu yazacaksın: varargs ile sayı al, min ve max'ı dizi olarak döndür.
Uygulama İstatistik fonksiyonu
minMax adında static int[] metot tanımla; parametre int... nums. Gövde, tüm elemanları tarayıp en küçüğünü ve en büyüğünü bulsun; new int[]{min, max} döndürsün. main içinden minMax(4, 9, 2, 7) çağırıp sonucu Arrays.toString ile yazdır.
Başlangıç kodu
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Metodu dört değerle çağır, sonucu yazdır
}
// minMax metodunu buraya tanımla (varargs)
}Örnek çözüm
static int[] minMax(int... nums) {
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int n : nums) {
if (n < min) min = n;
if (n > max) max = n;
}
return new int[]{min, max};
}
// main içinde:
System.out.println(Arrays.toString(minMax(4, 9, 2, 7)));Beklenen çıktı
[2, 9]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Boşluğu doldur: varargs tanımı
static int[] minMax(int____ nums) {
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int n : nums) {
if (n < min) min = n;
if (n > max) max = n;
}
return new int[]{min, max};
}
static int[] minMax(int... nums) {
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int n : nums) {
if (n < min) min = n;
if (n > max) max = n;
}
return new int[]{min, max};
}
Açıklama: int... ile esnek sayıda argüman alınır.
2 Senaryo ve yaklaşım eşleştir
| Kavram | Anlamı |
|---|---|
Esnek sayıda sayı |
varargs |
Dışarıdaki listeyi değiştir |
nesne parametresi |
Yeniden atamayı önle |
final parametre |
İlkel değerin değişmesini önle |
değerle geçiş |
3 int... nums parametreli bir metoda hangi çağrı geçerlidir?
- sum(1, 2, 3)
- sum{1, 2, 3}
- sum([1, 2, 3]) Doğru cevap
- sum(int 1, 2, 3)
Açıklama: varargs çağrıda virgülle ayrılmış argümanlar verilir.