5.00 / 1 oy

Java'da metoda değişken sayıda parametre göndermek

Bu gece Java'da metodları öğrendik ve metod overloading konusu ile birlikte inceledik. Önce 2 adet sayının çarpımını hesaplayarak döndüren bir metod yazdık, sonra da çarpmamız gereken sayıların adedinin 2 yerine 3 de olabileceğini dikkate alarak yeni bir metod imzası ürettik. Peki ya çarpmamız gereken sayılar 5 tane olsaydı? 10 tane? 50 tane? Biz her parametre sayısı için ayrı bir metod imzası mı kodlamak zorundayız? Bu açıklamayı yazdığıma göre belli ki bu problemin bir çözümü var. Mesela istediğimiz sayıda eleman saklayan bir vektörü metod parametresi olarak tanımlayabiliriz değil mi? En iyi yol bu olmasa da evet bu mümkün.

public static void main(String [] args) {
     
     int[] sayilar1 = {2,3,4};
     int[] sayilar2 = {2,3,4,5};
     int[] sayilar3 = {2,3,4,5,8,11,20};
     
     System.out.println(carp(sayilar1)); //24
     System.out.println(carp(sayilar2)); //120
     System.out.println(carp(sayilar3)); //211200
 }
 
public static int carp (int[] sayilar)
{
    int carpim=1;
    
    for (int i=0; i<sayilar.length; i++)
        carpim*=sayilar[i];
    
    return carpim;
}

Peki değişke sayıda ve türde parametre ile çağırabileceğimiz bir metodu nasıl tanımlayabiliriz?

public static void main(String [] args) {
    System.out.println(carp(2,3,4)); //24
    System.out.println(carp(2,3,4,5)); //120
    System.out.println(carp(2,3,4,5,8,11,20)); //211200
}

public static int carp(int... sayilar)
{
    int carpim=1;
    
    for (int sayi : sayilar)
    {
        carpim=carpim*sayi;
    }
    return carpim;
}

 

utku33

03.02.2020 04:31

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java'da metoda değişken sayıda parametre göndermek

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.