Methodennamme zusammenbasteln und aufrufen!

java007

Bekanntes Mitglied
Hallo Leute,

ich habe in einer Klasse Methoden definiert wie z.B.

Calculation00()
Calculation01() bis Calculation"n"() die ich aus einer anderen Klasse aufrufen möchte.

Aus der Datenbank erhalte ich die jeweilige Nummer als String wie zB "00","01" bis "n.te-Nummer".

nun will ich aus einer anderen Klasse die jeweilige Methode aufrufen.
Ich muss nun irgendwie den Methodenname definieren, dazu habe ich versucht
String z = "Calculation" + "00"= Calculation00 um eben Calculation00 zu erhalten, sodass ich
es mit einem objekt und dem String z beispielsweise

objekt.z(input) die Methode Calculation00 aufrufe

leider funktioniert dass nicht!

ich hoffe dass es verständlich genug ist

viele grüße
 
Zuletzt bearbeitet:

nrg

Top Contributor
vergiss das ganz schnell wieder. Methoden nummerieren bzw allgemein dein geschildertes vorgehen wirst du niemals brauchen. Bis jetzt fehlen mir aber noch ein paar infos, um dir eine schönere alternative vorzuschlagen (überladung/hashmap o.ä.). zeig mal ein bissle code (edit: dann kann ich vllt auch etwas besser erläutern, warum das, was du vorhast, quatsch ist)
 

FArt

Top Contributor
Du solltest eine allgmein gültige, generische Methode für die Kalkulation schreiben, die anhand der Parameter (z.B. aus der DB) unterscheidet und evtl. an die konkrete Kalkulation delegiert.

Theoretisch wäre dein Ansinnen über Reflection möglich, das wäre aber eine ziemlich kranke Lösung!
 

java007

Bekanntes Mitglied
vielen Dank für die schnellen Infos. Auf jeden Fall werde ich nach einer schöneren Lösung suchen aber mich würde es interessieren wie es mit der Java reflection funktionieren könnte :) habe nämlich in dieser hinsicht überhaupt keine Ahnung. Die Api habe ich mir schon angesehen

Viele Grüße
 

nrg

Top Contributor
ich würde es wirklich anders machen :). eine schöne Art anhand von einem String eine bestimmte Methode aufzurufen ist z.B. mit der HashMap. Du machst dir ein Interface XXX mit der Methode calculation(). Dann nimmst du eine Klasse, die im Konstruktor eine Map<String, XXX> füllt. z.b:

Map<String, XXX> deineMap = new HashMap<String, XXX>();
deineMap.put( "00", new XXX() {
@Override
calculation() {
...
}});

Dann kannste einfach hergehen und egal für welche Nummer:
deineMap.get( "00" ).calculation();
aufrufen.

Der Code ist jetzt einfach so in Browser eingegeben. Dient nur als Beispiel. Andere Möglichkeit wär zb Überladung o.ä.
 

Noctarius

Top Contributor
Interface, Implementierungen und Factory-Klasse

Einfacher, schöner, sauberer geht es nicht :)

Die Factory-Klasse kann selbstverständlich die Implementierungen aus einer Map holen wenn diese nicht vorher klar per If-Konstrukt aufgestellt werden können.
 

FArt

Top Contributor
Interface, Implementierungen und Factory-Klasse

Einfacher, schöner, sauberer geht es nicht :)

Die Factory-Klasse kann selbstverständlich die Implementierungen aus einer Map holen wenn diese nicht vorher klar per If-Konstrukt aufgestellt werden können.

Da lässt sich drüber streiten. Das Command-Pattern könnte man auch so anpreisen ;-)
 

java007

Bekanntes Mitglied
vielen Dank für die Infos :)

@ nrg

ich bin noch relativ neu in Java :) daher habe ich deine Lösung nicht ganz verstanden :(
kannst du sie nochmal für dummies erklären? oder was einfacheres?

Ich teile dir die Classen mit:

[JAVA=42]
public class Calculation(){

public Calculation(){

}

public boolean calculation00(int[] array){...return xyz;}
public boolean calculation01(int[] array){...return xyz;}
public boolean calculation02(int[] array){...return xyz;}
...

}


public class Action(){

public Action(){
}

// aus dieser Klasse möchte ich nun die calculation-Methoden aus der Klasse Calculation aufrufen

}

[/code]

Vielen Dank :)
 
Zuletzt bearbeitet:

nrg

Top Contributor
Java:
public interface Calculation {
	public boolean calculate( int[] array );
}
Java:
import java.util.HashMap;
import java.util.Map;

public class Aktion {
	private Map<String, Calculation> actions;
	public Aktion() {
		actions = new HashMap<String, Calculation>();
		actions.put( "00", new Calculation() {
			@Override
			public boolean calculate( int[] array ) {
				// Hier deine Aktion für 00
				return true;
			}
		});
		actions.put( "01", new Calculation() {
			@Override
			public boolean calculate( int[] array ) {
				// Hier deine Aktion für 01
				return true;
			}
		});
		// weitere Aktionen hier mit actions.put( "XX",...
	}
	public boolean doIt( String action, int[] array ) {
		return actions.get( action ).calculate( array );
	}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Namen eines Elements aus 2 Variablen zusammenbasteln Java Basics - Anfänger-Themen 7
P Strings zusammenbasteln Java Basics - Anfänger-Themen 5
krgewb "docker ps" aufrufen Java Basics - Anfänger-Themen 21
D wie kann ich gcc aus einer .java datei heraus aufrufen? Java Basics - Anfänger-Themen 2
hubmar Fehler beim mp4-datei aufrufen, nach dem zweiten aufruf Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
M methode aufrufen ohne parameter Java Basics - Anfänger-Themen 1
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
G Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
G Methode aus dem Aufrufer aufrufen Java Basics - Anfänger-Themen 1
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
W Methoden aufrufen - auch klassenübergreifend? Java Basics - Anfänger-Themen 9
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
J Interface methode aufrufen (interface parameter) Java Basics - Anfänger-Themen 7
H Kann man Methoden öfter aufrufen? Java Basics - Anfänger-Themen 2
L Webseite aufrufen (HTTP) Java Basics - Anfänger-Themen 8
G Rekursive Methode mit 2 Aufrufen Java Basics - Anfänger-Themen 1
T getAttribut in einer Methode aufrufen Java Basics - Anfänger-Themen 8
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
H Methoden in anderen Methoden aufrufen Java Basics - Anfänger-Themen 6
F Methoden Methode richtig aufrufen Java Basics - Anfänger-Themen 3
P Methoden aufrufen - Fehler Java Basics - Anfänger-Themen 20
M Java GUI explorer aufrufen um Pfad zu bekommen Java Basics - Anfänger-Themen 3
Y Java andere Klasse aufrufen Java Basics - Anfänger-Themen 6
V Collections Methode in der Methode aufrufen Java Basics - Anfänger-Themen 2
H Referenz Objekt aufrufen Java Basics - Anfänger-Themen 12
S Methode von vererbter Klasse, statt die der "Mutterklasse" aufrufen Java Basics - Anfänger-Themen 28
M Klassen Methode in anderer Klasse aufrufen? Java Basics - Anfänger-Themen 3
M Methode in anderer Klasse aufrufen Java Basics - Anfänger-Themen 5
E Methode soll andere Methode der selben Klasse aufrufen Java Basics - Anfänger-Themen 28
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
S Variablen Klassenvariable über Objekt aufrufen Java Basics - Anfänger-Themen 16
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
KopaCoda Getter mehrfach aufrufen -> ist das guter code? Java Basics - Anfänger-Themen 3
J Kompilierte Klasse mit Namespace per CMD aufrufen Java Basics - Anfänger-Themen 8
M Klassen Klasse aus anderer Klasse "aufrufen" Java Basics - Anfänger-Themen 2
scratchy1 Kann man in einer Methode eine andere aufrufen? Java Basics - Anfänger-Themen 2
W Wie kann ich meine Methode aufrufen? Java Basics - Anfänger-Themen 29
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
scratchy1 Methode aufrufen Java Basics - Anfänger-Themen 59
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
D Compiler-Fehler Aufrufen einer Methode von Main Java Basics - Anfänger-Themen 4
O Rekursiv aufrufen Java Basics - Anfänger-Themen 2
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
C Methoden Methode Variabel aufrufen Java Basics - Anfänger-Themen 2
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
E Threads Methode einer Wartenden Klasse aufrufen Java Basics - Anfänger-Themen 3
G Objekt der selben Klasse wie selbst mit Aufrufen des Konstruktors erzeugen Java Basics - Anfänger-Themen 14
J Methoden Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 12
B Funktionen von außen aufrufen Java Basics - Anfänger-Themen 1
A Fenster mit Button aufrufen Java Basics - Anfänger-Themen 3
E Methoden Objekte in Methode aufrufen ohne getter und setter? Java Basics - Anfänger-Themen 1
E Referenzvariable in anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
E Klassen Referenzvariable in anderer Klasse aufrufen. Java Basics - Anfänger-Themen 1
F Methode anderer Klasse aufrufen Java Basics - Anfänger-Themen 1
T CMD über Java-Programm aufrufen Java Basics - Anfänger-Themen 2
G Stringwerte aus anderen Klassen aufrufen. Java Basics - Anfänger-Themen 19
A Methode aufrufen in main-Methode Java Basics - Anfänger-Themen 5
K Compiler-Fehler Objektmethode aus einer statischen Methode heraus aufrufen Java Basics - Anfänger-Themen 34
J Methode über Scanner aufrufen Java Basics - Anfänger-Themen 15
W Methoden Methode ohne Parameter auf Instanz eines Objekts aufrufen? Java Basics - Anfänger-Themen 14
Azazel Klasseninstanzen zufällig aufrufen Java Basics - Anfänger-Themen 3
J Open Office Property Value mit Java aufrufen Java Basics - Anfänger-Themen 0
S Methoden Methode einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 5
Ghostman1711 Pi berechnung Methode aufrufen Java Basics - Anfänger-Themen 2
W Methoden Methode auf Array aufrufen, und dieses Array dabei ändern? Java Basics - Anfänger-Themen 10
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
A .jar über Webbrowser aufrufen Java Basics - Anfänger-Themen 2
J Methode in main-Methode aufrufen Java Basics - Anfänger-Themen 5
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
M Klassen Main Methode in einer anderen Klasse aufrufen Java Basics - Anfänger-Themen 13
H Nicht Static Funktion ohne Objekt aufrufen? Java Basics - Anfänger-Themen 6
H Klassen varibale einer klasse in einer anderen klasse aufrufen und häufigkeit ausgeben Java Basics - Anfänger-Themen 22
1 Arraylist in anderer Klasse aufrufen Java Basics - Anfänger-Themen 11
T Externe Methoden aufrufen Java Basics - Anfänger-Themen 3
G Methode einer Abstrakten Klasse aufrufen Java Basics - Anfänger-Themen 1
U Erste Schritte Kann length() für Array nicht aufrufen Java Basics - Anfänger-Themen 2
Fishmeaker Methoden mit Methoden aufrufen - Programm hängt sich auf Java Basics - Anfänger-Themen 5
A Erste Schritte Programm in Shell mit bestimmter Java-Version aufrufen Java Basics - Anfänger-Themen 10
Q Methode eines bereits erzeugten Objekts von einem anderen Objekt aus aufrufen Java Basics - Anfänger-Themen 6
S Klassen Applet extern aufrufen Java Basics - Anfänger-Themen 1
P Internetseite aufrufen Java Basics - Anfänger-Themen 4
M Mailprogramm aufrufen Java Basics - Anfänger-Themen 6
C Array - Methode in einer anderen Aufrufen Java Basics - Anfänger-Themen 1
B Liste in anderer Klasse aufrufen? Java Basics - Anfänger-Themen 3
L Mit rekursiven Aufrufen einen Stack emulieren Java Basics - Anfänger-Themen 1
F Um 14:00 eine Methode aufrufen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben