Methodenaufrufe in ein Array strecken

Status
Nicht offen für weitere Antworten.

vsk

Aktives Mitglied
Hallo
Ich prüfe mittels
Java:
myCheck.check_anrede(myReadString = StdInput.readString())
die Eingabe über die Konsole. Der Rückgabetyp ist boolean

myCheck ist ein Object der Klasse Check
check_anrede() die Methode in der Klasse Check
myReadString = StdInput.readString() das Einlesen von Konsole

Meine Idee war einfach die Methodenaufrufe in ein Object[] Array zu stecken und dieses dann einfach zu durchlaufen. Das gefällt aber der If-Abfrage nicht denn jetzt habe ich ja als Typ Object und nicht Boolean. Casten haut auch nicht hin.
Versuche ich da etwas unmögliches?

Java:
public void addPersonAbfrage(){
        String myPrintString ="";
        String myReadString ="";
        String[] myStringArray ={"Anrede: ","Name: ","Vorname: ","Strasse: ","PLZ: ",
        "Ort: ","Telefon: ","Fax: ","Bemerkung: "}; //StringArray mit den Abfragen
//folgend das Array mit den Checks
        Object[] myCheckArray={myCheck.check_anrede(myReadString = StdInput.readString()),
        myCheck.check_string(myReadString = StdInput.readString()),
        myCheck.check_anrede(myReadString = StdInput.readString()),
        myCheck.check_strasse(myReadString = StdInput.readString()),
        myCheck.check_plz(myReadString = StdInput.readString()),
        myCheck.check_string(myReadString = StdInput.readString()),
        myCheck.check_zahlen(myReadString = StdInput.readString()),
        myCheck.check_zahlen(myReadString = StdInput.readString()),
        myCheck.check_string(myReadString = StdInput.readString())};

        int myArrayIndex = 0; //Index zum Durchlaufen des StringArrays myStringArray
        boolean passed = false;
        synchronized(myView){
            try{
                myView.notify(); //ViewThread aufwecken
               }catch (Exception e) {System.out.println("Error Case1 "+e);}
        }
        while(myArrayIndex<9){
            while(!passed){
            myPrintString=myStringArray[myArrayIndex];
            setChanged();
            notifyObservers(myPrintString); //gibt die Ausgabe an den ViewThread 
            if( myCheckArray[myArrayIndex];){ //<<<<< das funktioniert leider so nicht :(
                passed=true;
                //mach irgendwas tolles
            }else {
                myPrintString="\nDie Eingabe war ungueltig \n";
                setChanged();
                notifyObservers(myPrintString);
                passed=false;
            }
            }//while innen
        myArrayIndex++;
        passed=false; //passed fuer naechste Schleifendurchgang zurueck setzen
        }//while aussen
   
    }
 

eRaaaa

Top Contributor
ähm ich seh noch nicht ganz durch, aber kannst du nicht myCheckArray einfach als ein boolean array deklarieren?

[c]myCheck.check_anrede(myReadString = StdInput.readString()[/c] sieht auch irgendwie merkwürdig aus. wozu das myReadString =
???:L

/edit: achja, und casten sollte mit dem wrapper eig. gehen
[c] (Boolean)obj [/c];
 
Zuletzt bearbeitet:

hdi

Top Contributor
ich glaube eher der if-Abfrage gefällt das Semikolon nicht?

if( myCheckArray[myArrayIndex];)
 

vsk

Aktives Mitglied
Ein Array vomTyp boolean habe ich ausprobiert. Dann wird der Methodenaufruf aber nicht ausgeführt.

Java:
...
boolean myCheckArray[] = {...}
...
if( myCheckArray[myArrayIndex]){ //<<<<< das funktioniert leider so nicht :

String myReadString
wird später gebraucht

Noch mal, vielleicht zum besseren Verständnis
was ich möchte ist, die obige Methode ausführen, von welcher es verschiedene "Abwandlungen" gibt, je nachdem was über die Konsole verlangt wird. Die verschiedenen Methoden wollte ich in einem Array speichern und in einer if-Abfage (siehe oben) aufrufen.

Java:
boolean b = (Boolean)myCheckArray[myArrayIndex];
            if( b){...

funktioniert leider in so fern nicht, dass keine Eingabeaufforderung erscheint und somit die Methode wohl nicht ausgeführt wird

Ich muss irgendwie sagen:
Führe die Methode aus, die im myCheckArray an der Stelle myArrayIndex, abelegt ist. Dann bekomme ich den Rückgabewert vom Typ boolean und StdInput.readString() sorgt für das Einlesen von der Konsole
 
Zuletzt bearbeitet:

vsk

Aktives Mitglied
Kommando zurück

Es kommt zu keiner Ausgabe, weil er die Methode bereits beim Erstellen des Arrays ausführt...

hier
Java:
Object[] myCheckArray={myCheck.check_anrede(myReadString = StdInput.readString()),
        myCheck.check_string(myReadString = StdInput.readString()),
        myCheck.check_anrede(myReadString = StdInput.readString()),
        myCheck.check_strasse(myReadString = StdInput.readString()),
        myCheck.check_plz(myReadString = StdInput.readString()),
        myCheck.check_string(myReadString = StdInput.readString()),
        myCheck.check_zahlen(myReadString = StdInput.readString()),
        myCheck.check_zahlen(myReadString = StdInput.readString()),
        myCheck.check_string(myReadString = StdInput.readString())};

kann ich den Aufruf irgendwie zerlegen? Die Methode als Strring speichern und dann irgendwie umwandeln?
 
Zuletzt bearbeitet:

Marco13

Top Contributor
???:L Häm - entweder das ist wieder mal schlafmangel oder...
Java:
boolean [] myCheckArray = new boolean[4]; // wie viele das halt sind...
myCheckArray[0] = myCheck.check_anrede(myReadString = StdInput.readString());
myCheckArray[1] = myCheck.check_anrede(myReadString = StdInput.readString());
myCheckArray[2] = myCheck.check_anrede(myReadString = StdInput.readString());
myCheckArray[3] = myCheck.check_anrede(myReadString = StdInput.readString());
//... wie viele das halt sind...
 

hdi

Top Contributor
Also vllt versteh ich ja den ganzen Thread nicht... Aber wo ist das Problem:

Java:
boolean myCheckArray = new boolean[x]; // x = musst du wissen
for(int i = 0;i<x;i++){
    myCheckArray[i] = myCheck.check_anrede(thisString = StdInput.readString());
    // thisString musste wohl noch abspeichern irgendwie
}
 

vsk

Aktives Mitglied
???:L Häm - entweder das ist wieder mal schlafmangel oder...
Java:
boolean [] myCheckArray = new boolean[4]; // wie viele das halt sind...
myCheckArray[0] = myCheck.check_anrede(myReadString = StdInput.readString());
myCheckArray[1] = myCheck.check_anrede(myReadString = StdInput.readString());
myCheckArray[2] = myCheck.check_anrede(myReadString = StdInput.readString());
myCheckArray[3] = myCheck.check_anrede(myReadString = StdInput.readString());
//... wie viele das halt sind...

Das Problem ist, das er bereits hier die Methoden ausführt und das soll er nicht. Die Methode soll erst in der if-Abfrage gestartet werden, denn nur zu diesem Zeitpunkt macht es sin von der Konsole zu lesen.

Also was ich möchte ist,
myCheck.check_anrede(myReadString = StdInput.readString());
oder
myCheck.check_name(myReadString = StdInput.readString());
oder
myCheck.check_wasweisich(myReadString = StdInput.readString());
in meiner if-Abfrage ausführen, denn das führt dazu, das einmal die if den boolean bekommt und zum anderen das von der Konsole gelesen wird.
So, jetzt ist das aber, wie man oben sieht, nicht immer der gleiche Aufruf, es ist mal check_name, mal checl_anrede usw.
Deswegen dachte ich ich könnte das einfach in ein Array legen und dann einfach den Index hochzählen und dann kommt immer genau der passende Aufruf zur passenden Ausgabe auf der Konsole
Konsolen AusgabeArray:
Java:
 String[] myStringArray ={"Anrede: ","Name: ","Vorname: ","Strasse: ","PLZ: ",
        "Ort: ","Telefon: ","Fax: ","Bemerkung: "}; //StringArray mit den Abfragen
 
Zuletzt bearbeitet:

hdi

Top Contributor
Dann mach es halt erst im if. Also ich versteh echt nicht was dein Problem ist :bahnhof: Was willst du denn tun?

edit: Ach jetzt kapier ich. Du willst dynamisch Methoden aufrufen. Das geht so nicht. Entweder du machst es per if-else Abfragen, oder du googlest mal nach Strategy Pattern
 

vsk

Aktives Mitglied
Dann mach es halt erst im if. Also ich versteh echt nicht was dein Problem ist :bahnhof: Was willst du denn tun?

edit: Ach jetzt kapier ich. Du willst dynamisch Methoden aufrufen. Das geht so nicht. Entweder du machst es per if-else Abfragen, oder du googlest mal nach Strategy Pattern

okay, es geht nicht :noe: bitte kein weiteres Pattern mehr...

Danke mal für Eure Zeit und vor allem die zeitnahe Hilfe ! Echt TOP
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Alle Methodenaufrufe eines Threads notieren..? Allgemeine Java-Themen 7
E Tool um Methodenaufrufe aus bestimmten Pkg zu finden Allgemeine Java-Themen 2
G Methodenaufrufe wie state maschine Allgemeine Java-Themen 4
M Java Klassen und Veerbung mit nichtnachvollziebarer Methodenaufrufe :( Allgemeine Java-Themen 13
B Methodenaufrufe aus String Allgemeine Java-Themen 9
M Methodenaufrufe sind über Interfaces langsamer. Allgemeine Java-Themen 43
P gegenseitige Methodenaufrufe zweier Klassen Allgemeine Java-Themen 14
P Methodenaufrufe Allgemeine Java-Themen 3
padde479 Anzahl Methodenaufrufe Allgemeine Java-Themen 7
Fynn29 Liste sortieren ohne Array und ohne vorgegebene Sortierung Allgemeine Java-Themen 24
LucasGlockner Effizienter byte-Zugriff auf ein long[]-Array Allgemeine Java-Themen 8
8u3631984 Frage Performance bei Linked List und Array List Allgemeine Java-Themen 5
M Queue mit einem Array implemetieren Allgemeine Java-Themen 16
M Array Rang eines Elements Allgemeine Java-Themen 4
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
noah1407 Array Allgemeine Java-Themen 3
D Methoden Teil-Array mit Maximalwert bestimmen Allgemeine Java-Themen 23
N einem Array Objekte hinzufügen die ihr Array position gespeichert haben Allgemeine Java-Themen 34
N zweidimensionalen Array in dreidimensionalen Array speichern Allgemeine Java-Themen 4
N Schnellste Methode, ein Array durchzugehen? Allgemeine Java-Themen 9
T Objekt Array Aufgabe mit Busdatenbank Allgemeine Java-Themen 2
L Array und Index Allgemeine Java-Themen 26
L die 3 größten Zahlen im Array Allgemeine Java-Themen 1
G jToggleButton in Array/ArrayList Allgemeine Java-Themen 12
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
Willi.We Array sortieren Allgemeine Java-Themen 5
gotzi242 Array Summe bestimmen tipps? Allgemeine Java-Themen 14
H Matrix ohne Array erstellen Allgemeine Java-Themen 9
Aboya Char Array rekursiv vergleichen Allgemeine Java-Themen 15
V4ll3.Wff Array in Java Allgemeine Java-Themen 4
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
H Array Sportschütze Allgemeine Java-Themen 6
Sumo_ow "ArrayIndexOutofBoundsException: 2" Array Problem Allgemeine Java-Themen 6
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
M Array verändern Allgemeine Java-Themen 1
A JavaFX 2 dimensionales array Allgemeine Java-Themen 1
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
H Elemente aus ArrayList in Array speichern Allgemeine Java-Themen 8
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
N Byte Array in Java "dekomprimieren" Allgemeine Java-Themen 3
parrot Array Aufgabe Allgemeine Java-Themen 3
N String Array Eingabe Allgemeine Java-Themen 6
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
N Variablen Array Länge ändern. Allgemeine Java-Themen 8
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
W Enumeration ein Array/List als Eigenschaft mitgeben - warum geht das nicht? Allgemeine Java-Themen 0
kodela Problem mit strukturiertem Array Allgemeine Java-Themen 18
A Array Problem Allgemeine Java-Themen 8
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
F Datei in String-Array einlesen Allgemeine Java-Themen 8
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
X Größten Werte in meinem Array löschen? Allgemeine Java-Themen 16
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
F 3 Dimensionales Array mit Allgemeine Java-Themen 9
M Steueralgorithmus verwandelt Array in Anfangszustand Allgemeine Java-Themen 9
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
D Datentypen 2-3 Baum erstellen mit geordnetem int-array Allgemeine Java-Themen 0
T Objekt in Array packen Allgemeine Java-Themen 6
M Zahlen in Array anordnen Allgemeine Java-Themen 8
M Eclipse Unvollständigen Array ansteuern Allgemeine Java-Themen 2
D Erste Schritte Im Array Werte tauschen Allgemeine Java-Themen 5
Xge For/Array Error: IndexOutOfBounds Allgemeine Java-Themen 4
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
FRI3ND Datentypen Date-Array sortieren - Text mitnehmen? Allgemeine Java-Themen 7
D Integer-Array variabler Größe mit Zahlen befüllen (Schleifen) Allgemeine Java-Themen 0
J Variablen Array ertellen bei model.put Allgemeine Java-Themen 13
S Eindimensionales Array in zweidimensionales Array speichern Allgemeine Java-Themen 5
R convert 2d array list to 2d array Allgemeine Java-Themen 1
J json Array würfel Spalten durcheinander Allgemeine Java-Themen 9
MiMa Array umbau oder Alternative? Allgemeine Java-Themen 5
L Datentypen 3D Array Allgemeine Java-Themen 3
M 2D Array mit unterschiedlichen Längen erstellen und befüllen Allgemeine Java-Themen 11
Mario1409 Methoden JSON Array von URL Allgemeine Java-Themen 8
E Swing Array mit Bildern in GUI darstellen Allgemeine Java-Themen 2
P Array einer abstrakten Klasse Allgemeine Java-Themen 4
H Zweidimensionales Array - Zellen der Tabelle verbinden Allgemeine Java-Themen 2
M Zweidimensionales Array mit Binärzahlen füllen Allgemeine Java-Themen 8
M Array aus Thread Objekten erstellen Allgemeine Java-Themen 2
kodela Dynamisches Array in einer Klasse Allgemeine Java-Themen 5
G Array ohne Aufzählungszeichen ausgeben Allgemeine Java-Themen 6
J Wie kann ich ein Java Array als Säulendiagramm ausgeben? Allgemeine Java-Themen 2
Z 2D Array Pixels reparieren Allgemeine Java-Themen 2
S Algorithmus welcher True-Werte in einem Array findet und auswertet. Allgemeine Java-Themen 5
B Polibios Array erweitern Allgemeine Java-Themen 1
R Index in einem Array löschen Allgemeine Java-Themen 10
R Index in einem Array löschen Allgemeine Java-Themen 2
U Methoden Algorithmus MergeSort String [ ] array sortieren programmieren Allgemeine Java-Themen 17
J Array-List Bubble-Sort Allgemeine Java-Themen 12
4 Variablen Int-Array Int Zuweisen Allgemeine Java-Themen 7
J Array Allgemeine Java-Themen 8
Z Array mit unterschiedlichen Werten Allgemeine Java-Themen 1
L sortiertes Array im main aufrufen klappt nicht. Allgemeine Java-Themen 3
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3

Ähnliche Java Themen


Oben