argumenty domniemane

0

Witam. Czy w javie są tak jak w c++ argumenty domniemane funkcji? Jeżeli są to proszę o jakiś przykład. Jeśli nie ma to w jaki sposób metodę, której używam w kilkuset miejscach, zmodyfikować tak, by dodać jeszcze jeden argument bez potrzeby poprawiania wszystkich wywołań metod? Z góry dziękuję za pomoc i pozdrawiam!

2

A kurs Javy Suna czytałeś?

public void napiszX(String x)
{
    napiszX(x,1);
}

public void napiszX(String x, int ileRazy)
{
    for(int i=ileRazy; i>0;i--)
    {
        System.out.println(x);
    }
}
0

Kursu Suna nie czytałem. Natomiast o przeciążaniu słyszałem i używałem. Chodziło mi raczej o coś w rodzaju:

void napiszX(String tekst, Integer licznik = 5)
{
...
}
Niemniej dziękuję za pomoc i pozdrawiam.

0

Obawiam się, że taki rzeczy to tylko w C++

0

A nie wystarczy:

void napiszX(String tekst, Integer licznik)
{
licznik=5;
...
}

0

Chyba nie, bo w przypadku w jakim podał autor, jeżeli programista wywoła funkcję z argumentem licznik, to będzie wzięta wartość z wywołania, jeżeli tego licznika zabraknie, to będzie wzięta domyślna wartość licznik = 5.

0

To trzeba zrobić tak jak ja podałem i nie inaczej...

0

void napiszX(String tekst, Integer... licznik)
I taką deklarację można wywołać bez podania licznika, czyli prawie jak argument domniemany. Tylko w środku trzeba sprawdzić, czy licznik został podany i jeżeli nie został, to przypisać mu wartość domyślną. Tak proste jak w C++ to to nie jest, ale jak chce się zmienić tylko metodę a pozostawić wywołania, to daje radę.

0

Należy zrobić dokładnie tak, jak podał Keraj.

Stosowanie ... (varargs z C++) w tym przypadku nie ma większego sensu.

0

Witam. Dokładnie to co napisał użytkownik chodnik miałem na myśli.

Przykładowy program:
void napiszX(String tekst, Integer licznik) {
if (licznik == null) {
licznik = 5;

    } 
}

Dziękuję za pomoc zwłaszcza użytkownikom Keraj oraz chodnik.
Pozdrawiam!

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