Objekte aus Array Inhalt erzeugen

nostal

Mitglied
Mahlzeit,

ich hatte eine Idee für die Erzeugung von Objekten und bin mir nicht sicher ob das überhaupt so funktioniert:

Java:
public static void main(String[] args)
	{	    
		String[] array = {"Z011", "Z012", "Z013"};
		
		String modul = new JOptionPane().showInputDialog("Welches Modul soll geladen werden?");
		
		for(String a : array)
		{
			if(a.equals(modul))
			{
				// hier weiß ich nicht weiter
			}
			else
			{
				
			}
		}	    
	}

Und zwar sieht man ja oben im Code dass ich ein Array mit diversen Strings erstellt habe.

Mein Ziel ist es dass die Benutzereingabe mit den Strings im Array verglichen werden (soweit klappt ja alles) und wenn es zu einer Übereinstimmung kommt soll ein neues Objekt der Klasse mit dem eingegebenen Namen erstellt werden (die Klassen mit den Namen sind vorhanden).

Ist das überhaupt möglich oder muss ich anders an die Sache rangehn.

Ich wollte der Übersicht halber pro "Modul" eine Klasse schreiben da die Befehle für jedes Moduls komplett anders sind.


MfG
 

eRaaaa

Top Contributor
ja das geht mit Reflection(eig. würde ich lieber eher schreiben, dass das nicht geht :D) - klingt aber etwas merkwürdig, sicher dass das nicht anders lösbar ist?
 

nostal

Mitglied
Sicherlich wäre es anders lösbar.

Ich könnte auch alles in eine Klasse reinstopfen. Es werden am Ende aber an die 20 Module sein.

Das ist dann nicht wirklich überschaubar und eher unschön.

Daher hatte ich die Idee pro Modul eine Klasse zu schreiben.

Es muss aber nachher flexibel dahingehend sein dass ich nicht im Voraus weiß welches Modul ich brauche.

Deswegen die Benutzereingabe.

Oder hat jmd ne andere Idee?
 
B

bygones

Gast
sicher dass es Klassen geben muss mit Namen Z011,Z012,Z013 und dass das nicht eher Eigenschaften einer Klasse ist ?
 

nostal

Mitglied
Nein das ist das Problem.

Jedes Modul hat andre Eigenschaften(bzw überschneiden sich nur selten), sonst könnt ich ja alles in eine Klasse klatschen.^^

Z011 braucht zB Zähnezahl, Normalmodul und Profilverschiebungsfaktor
Z012 zB noch Achsabstand

und bei andren Modulen gehts dann in ne komplett andere Richtung.
 
Zuletzt bearbeitet:
B

bygones

Gast
entweder du erzeugst dir einen Array aus den Modulen und ueberschreibst die toString entsprechend, dann wird direkt das Modul ausgewaehlt. Oder du speicherst dir ein Mapping.

Ich finde es aber fragwuerdig, warum man etwas auswaehlt was so gar nix miteinander zu tun hat.... du bezeichnest es selber als Modul ? Das klingt doch schonmal nach einer gemeinsamkeit
 

nostal

Mitglied
Dann hol ich nochmal bissl weiter aus.

Meine Aufgabe: Schnittstelle schreiben die mit dem COM Server von KISSsoft interagiert.

dazu hab ich zB die folgende kleine Klasse Z011 (so heißt das Modul von KISSsoft, gleicher Name zwecks Übersicht):

Java:
import javax.swing.JOptionPane;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class Z011
{
	private ActiveXComponent ks;
	private String get = "getVar";
	private String set = "setVar";

	@SuppressWarnings("static-access")
	public Z011() {		
		
		ks = new ActiveXComponent("kisssoftcom.kisssoft");
		
		Dispatch.call(ks, "getModule", "z011", true);		

		String zZahl = new JOptionPane().showInputDialog("Wie viel Zähne soll das Zahnrad haben?");
		String nModul = new JOptionPane().showInputDialog("Größe des Normalmoduls?");
		String pVersch = new JOptionPane().showInputDialog("Profilverschiebungsfaktor?");
		
		Dispatch.call(ks, set, "ZR[0].z", zZahl); //Zähnezahl
		Dispatch.call(ks, set, "ZS.Geo.mn", nModul); //Normalmodul
		Dispatch.call(ks, set, "ZR[0].x.nul", pVersch); //Profilverschiebungsfaktor
		
		Dispatch.call(ks, "calculate");
		
		Variant da = Dispatch.call(ks, get, "ZR[0].da.nul");
		Variant df = Dispatch.call(ks, get, "ZR[0].df.nul");
		
		System.out.println("Zähnezahl: " + zZahl);
		System.out.println("Normalmodul: " + nModul);
		System.out.println("Profilverschiebungsfaktor: " + pVersch + "\n");
		System.out.println("Berechneter Kopfkreisdurchmesser: " + da); //Kopfkreisdurchmesser		
		System.out.println("Berechneter Fusskreisdurchmesser: " + df + "\n"); //Fusskreisdurchmesser
				
		Dispatch.call(ks, "releaseModule");
		ks.safeRelease();
		System.out.println("Berechnung fertig");
	}
}

Dazu meine obige Mainklasse. Die manuelle Eingabe der Daten ist nur vorläufig und dient nur zu Testzwecken.

Die Z012 Klasse (sowie das Modul Z012 in KISSsoft) ist ähnlich aufgebaut braucht aber andere Parameter für die Berechnungen.

Deswegen kann ich nicht einfach "Z0**" als Eigenschaft nehmen.

Wie gesagt sind es an die 20 Module und ich will nicht alle in eine einzige Klasse reinquetschen.

Deswegen wollte ich pro Berechnungsmodul eine Klasse und diese dann bei Bedarf aufrufen.
 
Zuletzt bearbeitet:

nostal

Mitglied
Nabend zusammen,

ich meld mich abschließend hier nochmal zu Wort da es in Zukunft sicher auch andre Leute mit dem Problem geben wird.

Ich habe es momentan so gelöst dass ich, wie oben beschrieben, pro Modul eine Klasse habe.

Desweiteren habe ich eine weitere Klasse in der ich alle Methoden für die Zahnradberechnung eingefügt habe (Name zModule).

Von dieser Klasse erzeuge ich ein Objekt und übergebe es der benötigten Modul Klasse.

Zu lösen war das ganze jetzt über den Dynamischen Klassenaufruf:

Es wird ein String mit Klassennamen übergeben und falls es so eine Klasse mit dem Namen gibt wird ein Objekt von ihr erstellt.

Mein Problem war noch dass die Modul Klassen ja ein "zModul" Objekt als Parameter im Konstruktor haben und dass bei dem dynamischen Aufruf auch noch berücksichtigt werden musste.

Am Ende sieht so die Main-Klasse aus:

Java:
package KS;

public class Main
{
	public static void main(String[] args) throws Exception
	{
		String modulName;
		modulName = "Z012";

		Object o = new zModule();
		Class<?> c = Class.forName("KS." + modulName);
		c.getDeclaredConstructor(new Class[] { o.getClass() }).newInstance(new Object[] { o });
	}
}

Hoffe ich kann dem ein oder anderen damit in Zukunft helfen ;)

€: Version bei einer Klasse ohne Parameter im Kontstruktor:
Java:
package KS;

public class Main
{
	public static void main(String[] args) throws Exception
	{
		String modulName;
		modulName = "Z012";

		Class<?> c = Class.forName("KS." + modulName);
		c.newInstance();
	}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
N einem Array Objekte hinzufügen die ihr Array position gespeichert haben Allgemeine Java-Themen 34
C Objekte in Array List speichern? Allgemeine Java-Themen 1
M Objekte in Array speichern Allgemeine Java-Themen 19
H Objekte Array, überschrieben? Allgemeine Java-Themen 5
schegga_B javax.crypto - Cipher Objekte - Sevice Provider matching? Allgemeine Java-Themen 1
berserkerdq2 Weiß jemand wie ich im Scenebuilder das Fenster so darstellen kann, dass beim Vollbildmodus die Objekte so angezeigt werden? Allgemeine Java-Themen 1
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
L Objekte in Set nicht gefunden Allgemeine Java-Themen 13
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
G Objekte mit Strings Aufrufen Allgemeine Java-Themen 8
H Objekte speichern und laden Allgemeine Java-Themen 10
H Objekte speichern und laden Allgemeine Java-Themen 1
MiMa Referenz auf Objekte und deren Inhalte Allgemeine Java-Themen 12
W Objekte reproduzieren Allgemeine Java-Themen 2
W Objekte per Reflexion instanziieren Allgemeine Java-Themen 7
W Unittest - Objekte simulieren Allgemeine Java-Themen 7
T OOP Objekte mit Erweiterung Initialisieren Allgemeine Java-Themen 6
O Erste Schritte Objekte als Datenelemente Allgemeine Java-Themen 14
J Equals Mock Objekte Allgemeine Java-Themen 5
J Mockito - Objekte miteinander vergleichen (equals) Allgemeine Java-Themen 6
N Bei Mouse Events nicht mehrere Objekte erstellen Allgemeine Java-Themen 13
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
J Java Objekte = null, Garbagecollector Allgemeine Java-Themen 12
F Listen - Mehrere Objekte Allgemeine Java-Themen 1
J Verständnis Frage zur Instanz, Objekte, Instanzierung, Referenz Allgemeine Java-Themen 14
F Objekte erzeugen Allgemeine Java-Themen 1
E Threads ThreadPoolExecutor remove mit callable Objekte Allgemeine Java-Themen 3
P mehrer Verschiedene Objekte in einer Klasse erstellen. Allgemeine Java-Themen 4
E OOP Objekte und Methoden Allgemeine Java-Themen 1
@SupressWarnings() Umgebungsvariable Objekte "gekoppelt" Allgemeine Java-Themen 6
S Algorithmus um Objekte auf einer Flaeche mit gleichem Abstand anzuordnen..? Allgemeine Java-Themen 20
OnDemand Objekte speichern Allgemeine Java-Themen 8
B Objekte anhand von Properties file Allgemeine Java-Themen 41
U Tiefe Objekte schreiben Allgemeine Java-Themen 1
R Abstrakte Basisklasse und instanzierte Objekte der abgeleiteten Klasse als Basisklasse übergeben Allgemeine Java-Themen 2
E 3D Objekte in 2D Bild finden Allgemeine Java-Themen 5
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
F FileOutput/Input Objekte Allgemeine Java-Themen 6
OnDemand Objekte serialisieren Allgemeine Java-Themen 3
J unterschiedliche Objekte, selbe getter und setter Allgemeine Java-Themen 15
L Lib gesucht: Java-Objekte mit JSON Allgemeine Java-Themen 2
U Set erklären dass objekte gleich sind Allgemeine Java-Themen 12
E Best Practice Verdammt große Objekte Allgemeine Java-Themen 10
B Mehrere Objekte verschlüsselt serialisieren Allgemeine Java-Themen 6
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
N Objekte an eine andere Applikation übergeben Allgemeine Java-Themen 3
N 2 Objekte zu einer Gruppe zusammenfügen Allgemeine Java-Themen 7
M Instanzierte Objekte in XML Dokument speichern Allgemeine Java-Themen 3
B Verschiedene Objekte in Abhängigkeit eines Typs instanziieren. Allgemeine Java-Themen 17
K Input/Output Im Programm instanzierte Objekte Speichern und laden Allgemeine Java-Themen 3
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
H Objekte Serialisiert speichern Allgemeine Java-Themen 10
L MouseListener für viele Objekte erstellen Allgemeine Java-Themen 16
5 Objekte Sortieren lassen Allgemeine Java-Themen 7
L Input/Output Textdatei in Objekte überführen? Allgemeine Java-Themen 4
R Input/Output Objekte speichern ohne überschreiben Allgemeine Java-Themen 7
A Collections HashMap.containsKey findet keine immutablen Objekte Allgemeine Java-Themen 3
H Threads Thread stirbt aber Objekte in ihm leben weiter?! Allgemeine Java-Themen 9
M Java Objekte in XML mit JAXB Allgemeine Java-Themen 9
C Strings und JSON Objekte so klein wie möglich im Speicher ablegen Allgemeine Java-Themen 5
H COM-Objekte/ AktiveX Objekte Allgemeine Java-Themen 4
C Script für Website mit Objekte Ausblenden Allgemeine Java-Themen 3
M Txt einlesen & Objekte erzeugen Allgemeine Java-Themen 2
X Objekte aus TableModel serialisieren und deserialisieren Allgemeine Java-Themen 4
T ObjectInputStream - Arrayliste, die unbekannte Objekte enthält Allgemeine Java-Themen 9
B class dateien "einlesen" und objekte erzeugen Allgemeine Java-Themen 6
D Grafische Objekte zeichnen Allgemeine Java-Themen 4
A Wie zur Laufzeit auf Objekte zugreifen Allgemeine Java-Themen 7
F Referenzen auf Objekte Allgemeine Java-Themen 5
H Eclipse und Objekte Allgemeine Java-Themen 6
S Objekte die Objekte enthalten: Keine Vererbung Allgemeine Java-Themen 4
E Objekte in einer Liste suchen. Allgemeine Java-Themen 4
I Über eine Liste iterieren und Objekte löschen. Wie löst man das sauber? Allgemeine Java-Themen 5
I Pattern zum Erweitern existierender Objekte Allgemeine Java-Themen 4
N Dynamische Objekte / DB Allgemeine Java-Themen 5
J Objekte binär speichern Allgemeine Java-Themen 10
TiME-SPLiNTER Unbekannte Anzahl serialisierter Objekte lesen Allgemeine Java-Themen 2
V Objekte in Kategorien einteilen. Allgemeine Java-Themen 6
M 3D Objekte mit einer Linie Verbinden Allgemeine Java-Themen 3
F Wie zur Laufzeit ganz neue Objekte erzeugen? Allgemeine Java-Themen 5
A Dummy-Objekte für Webgui erzeugen Allgemeine Java-Themen 12
W Objekte speichern mit JFileChooser Allgemeine Java-Themen 8
D befehl auf mehrere objekte anwenden Allgemeine Java-Themen 7
L Objekte in Liste packen Allgemeine Java-Themen 2
S XML in Objekte wandeln. Euer Rat? Allgemeine Java-Themen 12
G Objekte serialisieren Allgemeine Java-Themen 2
L Parameter-Objekte verändern oder nicht? Allgemeine Java-Themen 6
D Objekte nur unter bestimmten Voraussetzungen erzeugen Allgemeine Java-Themen 4
S Objekte mit Arrays Allgemeine Java-Themen 9
F Objekte oder besser ID in Listen speichern? Allgemeine Java-Themen 2
S erzeugte objekte zählen Allgemeine Java-Themen 3
U auf Objekte mit variablem Namen zugreifen Allgemeine Java-Themen 4
Airwolf89 dynamischer Zugriff auf Variablen/ Objekte Allgemeine Java-Themen 4
Landei Objekte ohne Konstruktoraufruf erzeugen Allgemeine Java-Themen 7
E tiefe Kopie nicht serialisierbarer Objekte Allgemeine Java-Themen 3
J Speicherbedarf und persistente Objekte Allgemeine Java-Themen 4
J ArrayList Objekte anhand Propertywerte filtern Allgemeine Java-Themen 3
R Moeglichst viele Datumsstrings in Date Objekte konvertieren? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben