Wątek przeniesiony 2014-03-30 23:55 z Java przez bogdans.

"if" zależne od liczby parametrów w konstruktorach

0
public class klasaKons
{
private int wart1, wart2;

public klasaKons()
{
}

public klasaKons(int wart1)
{wart1=taWartosc;
wart2=tamtaWartosc;
}

static void drukuj()
{ /*tutaj potrzebuję pętli "if" uzależnioną od liczby parametrów  konstruktorach
przypdaek 1: System.out.println("Wynik: " + wart1);
przypadek 2: System.out.println("Wynik: " + wart1);
System.out.print("Wynik2: " + wart2); */
}
}

public class wywKlasaKons
{
public static void main(String[] args)
{
int wyn1, wyn 2;
...
/*klasaKons.drukuj();//tutaj muszę wydrukować dane z klasy z konstruktorami w dwóch przypadkach. załóżmy, że wyżej zainicjowałem 2 obiekty: ob1 z jednym parametrem, i ob2 z dwoma. Jak uzależnić wyświetlaną zawartość od liczby parametrów? Tak aby nie drukowało mi przy jednym parametrze domyślnej wartości: "wynik2: 0". */
}
}

tam wyżej dałem tylko jeden parameter przy konstruktorze z dwoma parametrami. Powinno być tak:

public klasaKons(int wart1)
{ wart1=taWart;
}
public klasaKons(int wart1, int wart2)
{wart1=taWart;
wart2=tamtaWart;
}

i dopiero reszta kodu

dodanie znaczników <code class="java"> - furious programming

0

Metodę z parametrami tego samego typu możesz zadeklarować np. w taki sposób: public method( typ t...). Te kropeczki oznaczają zmienną ilość argumentów - w tym też zerową. W ten sposób niejawnie tworzy się tablica t przechowująca argumenty. Później możesz ją przekazać do pola klasy będącego tablicą i z wypisaniem w pętli for nie powinno być już problemu i dodatkowo nie musisz używać żadnego ifa. Inny sposób to używanie klasy Integer zamiast typu int. Wówczas referencje, którym nie podano wartości będą miały nulla, więc łatwo sprawdzisz w ifach co wypisać a co nie.

Ps. wstawiając kod używaj odpowiednich znaczników, i zadawaj pytania poza kodem, żeby nie trzeba go było szukać w komentarzu.

0

dz. Rozumiem, ze używając drugiej opcji mogę mieć różne parametry?

1 użytkowników online, w tym zalogowanych: 0, gości: 1