Klassen Funktion in Klasse einbauen

D

downandout

Gast
Ich schreibe gerade mein erstes Java Programm, Ziel ist es eine Klasse zu schreiben die Wörter, die durch mehrere Parameter eingegeben wurden Rückwerts auszugeben. Ich habe es so hinbekommen, dass es funktioniert, aber leider muss ich einige Codezeilen in Main schreiben, damit ich schaffe! Ich will den Abschnitt, der überprüft, ob wieviele Parameter es gibt in die Klasse integieren!

Also das ich nur:
Java:
Backstring hallo = new Backstring(?????);
		hallo.print();}
brauche, den Rest sollte die Klasse alleine erledigen können.

Wie mache ich das?
Mein erstes Programm wird sicher nicht perfekt sein, also was sollte ich ändern, damit es besser wird?


Java:
public class Backstring {
public String rueck;

public Backstring () { //Konstruktor, wenn keine Eingabe
rueck = "Teststring";
}
public Backstring(String Stringname){ // Konstruktur, bei einer Eingabe
	rueck = Stringname;
}
public void print() {


	StringBuffer Ausgabe = new StringBuffer(rueck);
	System.out.println(Ausgabe.reverse());
}
	public static void main(String[] args) { 
		
		int i = 0;
		String Hilfestring = "";
		try{
		for(; args[i]!=""; i++)
			Hilfestring += args[i];}
		catch (ArrayIndexOutOfBoundsException ex){};
		
		//System.out.println("Es wurde kein Parameter eingegeben!");
		Backstring hallo = new Backstring(Hilfestring);
		hallo.print();}
	}
 

Michael...

Top Contributor
Einfach die Parameter aus der main weiterreichen.
Entweder direkt im Konstruktor oder per set-Methode

Java:
public BackString(String[] valuesFromMain) {
 ....
}

public void setValues(String[] valuesFromMain) {
 ...
}
 

diggaa1984

Top Contributor
hier mal ein paar kleine Hinweise, im Guten :)

Java:
public class Backstring {

public String rueck;
 
public Backstring () { 
    this("Teststring"); //Aufrufen des anderen Konstruktors, mit Parameter
}

public Backstring(String Stringname) { 
    rueck = Stringname;
}
   

public static void main(String[] args) { 
    Backstring hallo;    
    int i = 0;
    String hilfestring = ""; //Variablen alle klein schreiben
       
    //diese variante spart dir die Exceptionbehandlung, da du keine bekommen wirst
    for(String arg: args)
        Hilfestring += arg;
        

    //damit hast du gleich beide Faelle behandelt und beide Konstruktoren genutzt
    if (hilfestring.equals("")) {
        System.out.println("Es wurde kein Parameter eingegeben!");
        hallo = new Backstring();
    } else {
        hallo = new Backstring(hilfestring);
    }
    
    hallo.print();
}

}//class

das mit dem Konstruktor ist dahingehend praktisch, da du bei sehr komplexen Initialisierungen und mehreren Konstruktoren nicht Gefahr läufst bei einem Konstruktor etwas zu vergessen. Du reichst somit alles nötige oder Standardwerte an den umfangreichsten Konstruktor weiter, welche dann alle Daten hat um die Klasse entsprechend zu initialisieren. Das erhöht auch gleichzeitig die Lesbarkeit des Codes.

Das mit der for-schleife muss man einfach wissen. Du kannst sicherlich auch per index das Array abfragen aber so liest es sich auch besser. Das kannst du bspw mit allen Arrays oder Listen so lösen.
Eine normale Variante ohne Exception wäre:
Java:
for (int i=0; i<args.length; i++) 
    hilfestring += args[i]

EDIT: ah seh grad, bin gar net auf die Frage eingegangen .. aber die Antwort von Michael ist auch ausreichend :)
 
Zuletzt bearbeitet:
D

downandout

Gast
Einfach die Parameter aus der main weiterreichen.
Entweder direkt im Konstruktor oder per set-Methode

Java:
public BackString(String[] valuesFromMain) {
 ....
}

public void setValues(String[] valuesFromMain) {
 ...
}

Danke für die Antwort. :)
Aber wenn ich die Sache im Konstruktur mache, dann verlangt er in main bei Backstring hallo = new Backstring(); einen Wert, der übergeben werden soll, wie löse ich das?

Mit setValues habe ich das Problem, das die Funktion nicht vor dem Konstruktor ausgeführt wird, wie mache ich das?


Java:
package aufgabe;

public class Backstring {
public String rueck;
public String Hilfestring = "";

public Backstring () { //Konstruktor, wenn keine Eingabe
	rueck = Hilfestring;
}
public Backstring(String Stringname){ // Konstruktur, bei einer Eingabe
	rueck = Stringname;
}
public void print() {


	StringBuffer Ausgabe = new StringBuffer(rueck);
	System.out.println(Ausgabe.reverse());
}
public void setValues(String[] valuesFromMain) {
	int i = 0;
	
	try{
	for(; valuesFromMain[i]!=""; i++)
		Hilfestring += valuesFromMain[i];}
	catch (ArrayIndexOutOfBoundsException ex){};
	}


	public static void main(String[] args) { 
		
		
		//System.out.println("Es wurde kein Parameter eingegeben!");
		
		Backstring hallo = new Backstring();
		hallo.print();}
	}
 

diggaa1984

Top Contributor
Danke für die Antwort. :)
Aber wenn ich die Sache im Konstruktur mache, dann verlangt er in main bei Backstring hallo = new Backstring(); einen Wert, der übergeben werden soll, wie löse ich das?

Java:
public Backstring(String[] values) {
    ...
}


public static void main(String[] args) {
    Backstring s =  new Backstring(args);
    s.print();
}

macht die Sache extrem kompakt :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
S Funktion in Klasse auslagern Java Basics - Anfänger-Themen 4
B Zugriffe in einer Klasse / Funktion Java Basics - Anfänger-Themen 9
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
E Compare-Funktion bei eigener Klasse Java Basics - Anfänger-Themen 4
G OOP Aus Objekt auf Funktion der erzeuger Klasse zugreifen? Java Basics - Anfänger-Themen 11
D Loop Funktion für Robot Klasse Java Basics - Anfänger-Themen 5
A klasse[] funktion Java Basics - Anfänger-Themen 2
M öffentliche nicht-statische Funktion fremder Klasse ausführn Java Basics - Anfänger-Themen 16
philipp Wie kann ich eine Funktion einer Klasse benutzen ? Java Basics - Anfänger-Themen 2
P Funktion einer anderen Klasse aus einem Dialog aufrufen Java Basics - Anfänger-Themen 8
P Funktion einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 5
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
J Rekursive Funktion und return statement Java Basics - Anfänger-Themen 3
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
I Generische Funktion Java Basics - Anfänger-Themen 3
E Pervasive PSQL insert funktion geht nicht Java Basics - Anfänger-Themen 9
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
J In main() Datei geöffnet, von anderer Funktion beschreiben Java Basics - Anfänger-Themen 3
M toDouble Funktion Java Basics - Anfänger-Themen 3
Tino1993 Ellipse über draw Funktion ohne spur wandern lassen Java Basics - Anfänger-Themen 6
X Ackermannsche Funktion Java Basics - Anfänger-Themen 32
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
P Dezimal zu Hexadezimalzahl Funktion Java Basics - Anfänger-Themen 5
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
M Arrays in Funktion Kopieren und Bearbeiten Java Basics - Anfänger-Themen 4
B Funktion mit mehreren Rückgabewerten aka Prozeduren? Java Basics - Anfänger-Themen 12
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
D Funktion nur 1 Rueckgabewert Java Basics - Anfänger-Themen 9
M Wie lang eine Funktion/Methode? Java Basics - Anfänger-Themen 51
N den inhalt eines array per funktion ausgeben Java Basics - Anfänger-Themen 8
R Ackermann Funktion Java Basics - Anfänger-Themen 2
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
N Abfragen eines Textes aus einem JTextField in Java, Funktion, CardLayout, Java Basics - Anfänger-Themen 2
T Rekursion Warum bricht meine Funktion nicht ab Java Basics - Anfänger-Themen 4
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
E Contain-funktion überlisten Java Basics - Anfänger-Themen 4
J Division ohne Arithmetische Funktion Java Basics - Anfänger-Themen 2
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
S Gibt es eine Funktion, die gewissermaßen eine Reihe von instanceOf() vereinheitlicht? Java Basics - Anfänger-Themen 19
D Nullstellen einer Funktion 3. Grades mit Horner Schema Java Basics - Anfänger-Themen 6
Aprendiendo Gibt es in der JAVA-API eine Funktion, die eine Dezimalzahl in eine binäre Zahl umwandelt? Java Basics - Anfänger-Themen 8
D Funktion gibt Dimension zurück Java Basics - Anfänger-Themen 11
A Rekursion Funktion in eine Iterativ Funktion umwandeln Java Basics - Anfänger-Themen 9
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
J Array innerhalb einer Funktion mehrfach iniatilisieren Java Basics - Anfänger-Themen 4
T Lambda-Funktion bei Binärbäumen Java Basics - Anfänger-Themen 13
M Thread.sleep() Funktion Java Basics - Anfänger-Themen 1
B OOP Wie benutze ich die Main Funktion richtig? Java Basics - Anfänger-Themen 10
H Nicht Static Funktion ohne Objekt aufrufen? Java Basics - Anfänger-Themen 6
K Methoden mit den Namen accept. Welche Funktion haben diese? Java Basics - Anfänger-Themen 2
S Threads run - Funktion wird nur einmal ausgeführt. Java Basics - Anfänger-Themen 8
B Anwender soll mathematische Funktion eingeben können, Einfachster Fnktionsplotter Java Basics - Anfänger-Themen 4
R If Funktion funktioniert nicht :P Java Basics - Anfänger-Themen 3
H Funktion in Hintergrund und Vordergrund ausführen Java Basics - Anfänger-Themen 11
S Funktion die mir fuer einen String eine Zahl zwischen 0.0 und 1.0 zurueckliefert..? Java Basics - Anfänger-Themen 9
S Funktion eines Stacks Java Basics - Anfänger-Themen 4
T Integer-Objekt über Hash-Funktion in Array ablegen Java Basics - Anfänger-Themen 1
S Separate Funktion für JUnit-Test Java Basics - Anfänger-Themen 3
D Keine Funktion bei "else" Java Basics - Anfänger-Themen 5
S timer funktion mit javax panel Java Basics - Anfänger-Themen 3
T Klassen Funktion in einem Funktionsaufruf definieren Java Basics - Anfänger-Themen 3
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
X Eval-Funktion mit Variable Java Basics - Anfänger-Themen 2
T Screenreader Funktion Java Basics - Anfänger-Themen 2
S Wertetabelle einer Funktion f : R -> R Java Basics - Anfänger-Themen 1
P Methoden suche funktion die char wert ausgibt wenn man numerischen wert und radix angibt Java Basics - Anfänger-Themen 1
1 repaint() Funktion erzeugt Flackern Java Basics - Anfänger-Themen 33
J Taschenrechner Funktion Java Basics - Anfänger-Themen 18
R if funktion ohne else - Bedingung trifft nicht zu, ausgabe nicht nachvollziehbar Java Basics - Anfänger-Themen 7
shiroX OOP Java Funktion implementieren Java Basics - Anfänger-Themen 3
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
F Funktion immer zur vollen Stunde? Java Basics - Anfänger-Themen 3
S ResultSet close() in funktion nich möglich. Java Basics - Anfänger-Themen 8
C Meine erste Funktion Java Basics - Anfänger-Themen 12
J Funktion um JSON per Post senden/emfangen Java Basics - Anfänger-Themen 3
D Binäre Suche für Integerarray in rekursiver Funktion Java Basics - Anfänger-Themen 5
M Interface als Konstruktorparameter nutzen, um Funktion zu plotten Java Basics - Anfänger-Themen 14
NR_EIGHT Benutzereingabe in Funktion verpacken Java Basics - Anfänger-Themen 4
J Funktion definieren und ausfuehren Java Basics - Anfänger-Themen 27
N mathematische Funktion Java Basics - Anfänger-Themen 29
R Programm verstehen, Funktion Java Basics - Anfänger-Themen 4
C Automatisches Ausfuehren einer Funktion beim Laden eines Jar files Java Basics - Anfänger-Themen 3
O Nicht Standard Form boolesche Funktion in Standard Form parsen Java Basics - Anfänger-Themen 3
F Sleep Funktion Java Basics - Anfänger-Themen 12
S Euklid Funktion Java Basics - Anfänger-Themen 8
H Funktion mit Argumenten Java Basics - Anfänger-Themen 5
Q Random Funktion JButtons Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben