Optionale Übergabewerte

Status
Nicht offen für weitere Antworten.

Astra

Aktives Mitglied
Kann ich bei ner Funktion die Übergabewerte auch optional machen, damit meine ich das wenn eine Funktion 2 Übergabewerte hat, man diese auch nur mit einem aufrufen kann.
Also sagen wir mal:
Code:
public void errorMeldung(String errsource,String errcode)
{
    if ("".equals(errcode))
    {
    System.out.println("Es wurde ein Fehler in Modul "+errsource+" festgestellt\n";  
    }
    else
    {
    System.out.println("Es wurde ein Fehler in Modul "+errsource+" festgestellt\nFehlercode: "+errcode"\n");
    }
}
Und wenn ich jetzt errcode optional machen will,also die Funktion immer mit errxource aber nicht immer mit ercode aufrufen will, wie geht sowas?
 

CelikBlek

Bekanntes Mitglied
also das was du da hast geht auf keinen fall. du kannst es pruefen ob es leer ist, ja. aber nicht so.
 

dotlens

Top Contributor
ich denke du suchst so etwas:

Code:
public void errorMeldung(){
		errorMeldung("", "");
	}
	
	public void errorMeldung(String errsource,String errcode) 
	{ 
	    if (errcode.equals("")) 
	    { 
	    System.out.println("Es wurde ein Fehler in Modul " + errsource + " festgestellt\n");  
	    } 
	    else 
	    { 
	    System.out.println("Es wurde ein Fehler in Modul "+errsource+" festgestellt\nFehlercode: "+errcode + "\n"); 
	    } 
	}

wenn zwei methoden gleich heissen aber andere Parameter haben ist das kein Problem. es ist etwas das andauernd verwendet wird...

PS: du hast noch ein und, eine Klammer vergessen die ich hinzugefügt habe und equals funktioniert andersrum ;)
 

thE_29

Top Contributor
nein, er meint sowas ;)


Code:
void CTestDlg::testfkt(int x,...)

Leider ist das, ratet mal :bae:





C++ Code ;) also in C geht sowas und ist net, aber in Java geht das nicht!

Übergib einfach einen Vector oder ArrayList, mit dem sollte das auch gehn!

Du addest halt soviele Elemente zum Vector/Arraylist und in der Fkt baust du diese dann ab!
 

Illuvatar

Top Contributor
Hm, meinst du so was:
Code:
public static void main (final String... args)
//oder
public void printInts (int... ints)
{
  for (int i : ints){
    System.out.println (i);
  }
}
Zum Glück ist das, ratet mal :bae:




Java-Code *freu* (Aber erst in Java5 ;) )
 

thE_29

Top Contributor
also ich hasse diese neue for Schleife!

Irgendwas sollte dann halt schon gleich bleiben, aber die verwirrt mich jetzt nur...

Aber das mit den Parametern, dass das jetzt geht ist ja supi ;)

Wie kann ich den den 2ten Param ansprechen? (hab noch keine Java 5)! (wenns geht mit ner normalen for Schleife)
 

thE_29

Top Contributor
das ist eine Java 5 for schleife ;)

das int steht für den Datentyp, i ist der Inhalt, bzw Counter ;) und ints der Array zum durchgehen... (ganz genau weiß ich es auch net ;))

sag ja das Teil verwirrt nur!!

Hätten die lieber net einbauen sollen, bzw ich werde das net benutzen! Man hat zwar weniger Schreibarbeit, aber so faul bin ich auch wieder net :bae:
 
G

Guest

Gast
Das is also nix anderes als:

Code:
for (int i = 0;i < ints.length;i++){
    System.out.println (i);
  }

?
 

thE_29

Top Contributor
na, das würde dir jetzt 0 - x ausgeben, ich glaube eher das es das ist ;)

Code:
for(int i = 0; i < ints.length; i++)
{
  System.out.println(ints[i]);
}
 
G

Guest

Gast
Aso, so wie bei ner Cursor-For-Schleife in PL/SQL. Jo das macht Sinn. :D
 

CelikBlek

Bekanntes Mitglied
thE_29 hat gesagt.:
Hätten die lieber net einbauen sollen, bzw ich werde das net benutzen! Man hat zwar weniger Schreibarbeit, aber so faul bin ich auch wieder net :bae:
zu dem gibt es ja mit Strg + j(fora) eine schöne Funktionalität bei JBuilder :)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben