Main Methode Variablen übergeben

iB0T

Mitglied
Hallo ich habe mal ne Frag kann man der Main Methode Variablen übergeben?

SO wie hier:

Java:
public static void main(String var_Vorname, String var_Zuname , String var_Alter , String var_Wohnort , String pw1 , String pw2 ,String zero, int select) {

}

oder geht das nicht? Wenn es nicht geht wie kann ich folgenden Fehler behebn?

	public static void main(String var_Vorname, String var_Zuname , String var_Alter , String var_Wohnort , String pw1 , String pw2 ,String zero, int select){
		JOptionPane.showMessageDialog(null, "Wilkommen beim iB0T Daten Service!");
		JOptionPane.showMessageDialog(null, "Version Alpha 1.0.0");
		
		
		selection(zero);
		register(select);
		
		checkRegister(var_Vorname,var_Zuname,var_Alter,var_Wohnort,pw1,pw2);
		
	}
Fehlercode:

Exception in thread "main" java.lang.NoSuchMethodError: main

Ich bin dabei die Basics nocheinmal zu vertiefen komme aber an diesem Punkt nicht weiter?! Suff hat auch nicht das was ich wissen wollte geliefert!;(;(
 
Zuletzt bearbeitet von einem Moderator:
so sieht JAVA die main- Methode als ganz normale Methode an 🙂

darum sagt er dir, dass er keine "richtige" main- Methode finden kann .... du kannst aber bei der normalen Main- Methode deinem Programm "Start"- Parameter mitgeben, welche dann in dem String[] args Array enthalten sind 🙂
 
Alter Schwede. Wenn man deine Fragen so liest graust einem schon echt vor diesem "inteligeneten" [sic!] Datenabsicherungsystem, sofern das überhaupt je was wird.
 
Hallo,

ich mache mal den "Summerizer", damit es noch etwas einfacher für Dich wird.

Es gibt in jedem Programm eine Methode, die als Startpunkt aufgerufen wird. In Java ist das die Main methode. Du kannst dieser Main-Methode nicht willkürlich Parameter hinzufügen. Wie auch - die VM wüsste ja nichts von den Parametern. Geht also nicht.

Aber wenn Du Dir die Methodensignatur der Main-Methode in Java (und auch in anderen Sprachen) anschaust, wirst Du sehen, dass es bereits einen Parameter gibt.

[tipp]
public static void main (String args[]) {}
[/tipp]

Jede Main methode bekommt also ein Array übergeben, welches Du füllen kannst, wenn Du deine Javaklasse aufrufst (also das Programm). In args[0] steht dann der erste Parameter, in args[1] der zweite und so weiter....

Was du allerdings tust ist etwas anderes: Du überlädst die main-Methode....
Und da es keine mit der richtigen Signatur gibt, wird auch keine gefunden.

1.) Warum tust du das?
2.) Was hast Du überhaupt vor?
 
Hi iBot

Du kannst einem Programm in der Commandline Parameter übergeben.
Wenn Du also z.B. in der Windows Eingabeaufforderung Dein Programm mit dem Namen "meinprog" startest kannst Du diesem Programm Parameter übergeben.

c:\> meinprog param1 param2 param3 paramx

Die Anzahl der Parameter kannst Du per args.length abfragen.

Java:
public class meinprog {

	public static void main(String[] args) {
		System.out.println("Die Anzahl der übergebenen Parameter ist: "+args.length);
		
		for(int a = 0; a < args.length; a++)
			System.out.println(args[a]);
	}
	
}

Wenn Du mit Eclipse arbeitest, kannst Du die Parameter unter "Run / Run configurations... / Arguments / Program Arguments eingeben.

Pentalon
 

Zurück
Oben