Reihenfolge des Quelltexts

f10

Aktives Mitglied
Hallo zusammen,

ich habe eine Frage. In welcher Reihenfolge wird mein Quelltext kompiliert? Ich gehe momentan nach dem EVA-Prinzip und beginne mit der Variablendeklaration.
Zuerst vereinbare ich also die Variablen die ich brauche.

Java:
//Variablendeklaration
    int a, b, c, d, e, f, g, h;   
    int aa, bb, cc, dd, ee, ff, gg, hh;    
    int aaa, bbb, ccc, ddd, eee, fff, ggg, hhh;

Anschliessend widme ich mich der Eingabe

Java:
//Eingabe 
    a = Integer.parseInt(tfd_start128.getText());
    b = Integer.parseInt(tfd_start64.getText());
    c = Integer.parseInt(tfd_start32.getText());
    d = Integer.parseInt(tfd_start16.getText());
    e = Integer.parseInt(tfd_start8.getText());
    f = Integer.parseInt(tfd_start4.getText());
    g = Integer.parseInt(tfd_start2.getText());
    h = Integer.parseInt(tfd_start1.getText());
    aa = Integer.parseInt(tfd_und128.getText());
    bb = Integer.parseInt(tfd_und64.getText());
    cc = Integer.parseInt(tfd_und32.getText());
    dd = Integer.parseInt(tfd_und16.getText());
    ee = Integer.parseInt(tfd_und8.getText());
    ff = Integer.parseInt(tfd_und4.getText());
    gg = Integer.parseInt(tfd_und2.getText());
    hh = Integer.parseInt(tfd_und1.getText());

Danach der Verarbeitung:

Java:
aaa = a + aa;
    bbb = b + bb;
    ccc = c + cc;
    ddd = d + dd;
    eee = e + ee;
    fff = f + ff;
    ggg = g + gg;
    hhh = h + hh;

und zuletzt der Ausgabe:

Java:
if(aaa == 2) {
    tfd_ziel128.setText("1");
      return;
    }
    if(bbb == 2) {
      tfd_ziel64.setText("1");
      return;
    }
    if(ccc == 2) {
      tfd_ziel32.setText("1");
      return;
    }
    if(ddd == 2) {
      tfd_ziel16.setText("1");
      return;
    }
    if(eee == 2) {
      tfd_ziel8.setText("1");
      return;
    }
    if(fff == 2) {
      tfd_ziel4.setText("1");
      return;
    }
    if(ggg == 2) {
      tfd_ziel2.setText("1");
      return;
    }
    if(hhh == 2) {
      tfd_ziel1.setText("1");
      return;
    }

und bei der Ausgabe vermute ich nun einen Fehler. In welcher Reihenfolge fuehrt Java denn meinen Quellcode aus? Denn wenn ich mein Programm starte, rechnet er mir nur die erste Textbox aus, wenn diese die Bedingung erfuellt, erfuellen aber gleichzeitig auch die 4. und 5. Textbox bspw. die Bedingung, ignoriert mein Programm dies voellig. Warum tut es das?

Das ersteinmal meine Frage. Mein Programm dazu:

Ziel: Es sollen 2 Dualzahlen miteinander verundet werden. Das bedeutet, dass wenn eine Dualzahl 1 und die andere ebenfalls 1 ist, das Ergebnis 1 ist. Ist mindestens eine der beiden Dualzahlen 0, so ist auch das Ergebnis 0.

Dies habe ich in diesem Quelltext versucht zu implementieren, doch das oben beschriebene Problem tritt auf.

Java:
public void btn_verunden_ActionPerformed(ActionEvent evt) {
    //Variablendeklaration
    int a, b, c, d, e, f, g, h;    //a=128 h=1
    int aa, bb, cc, dd, ee, ff, gg, hh;    //aa=128 hh=1
    int aaa, bbb, ccc, ddd, eee, fff, ggg, hhh;   //aaa=128 hhh=1

    //Eingabe Dualzahl
    a = Integer.parseInt(tfd_start128.getText());
    b = Integer.parseInt(tfd_start64.getText());
    c = Integer.parseInt(tfd_start32.getText());
    d = Integer.parseInt(tfd_start16.getText());
    e = Integer.parseInt(tfd_start8.getText());
    f = Integer.parseInt(tfd_start4.getText());
    g = Integer.parseInt(tfd_start2.getText());
    h = Integer.parseInt(tfd_start1.getText());

    //Eingabe der zu verundenden Dualzahl
    aa = Integer.parseInt(tfd_und128.getText());
    bb = Integer.parseInt(tfd_und64.getText());
    cc = Integer.parseInt(tfd_und32.getText());
    dd = Integer.parseInt(tfd_und16.getText());
    ee = Integer.parseInt(tfd_und8.getText());
    ff = Integer.parseInt(tfd_und4.getText());
    gg = Integer.parseInt(tfd_und2.getText());
    hh = Integer.parseInt(tfd_und1.getText());
    
    //Verarbeitung a und aa neue Variable zuordnen.
    aaa = a + aa;
    bbb = b + bb;
    ccc = c + cc;
    ddd = d + dd;
    eee = e + ee;
    fff = f + ff;
    ggg = g + gg;
    hhh = h + hh;

    //Verarbeitung im Dualzahlfeld nur Dualzahlen eingeben.
    if (a<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (b<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (c<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (d<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (e<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (f<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (g<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (h<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (a>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (b>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (c>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (d>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (e>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (f>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (g>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (h>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}

    //Verarbeitung im verunden Dualzahlfeld nur Dualzahlen eingeben
    if (aa<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (bb<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (cc<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (dd<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (ee<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (ff<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (gg<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (hh<0)
     {lbl_ziel.setText("Keine negativen Werte");
     return;}
    if (aa>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (bb>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (cc>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (dd>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (ee>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (ff>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (gg>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}
    if (hh>1)
     {lbl_ziel.setText("Dualzahlen sind 0 oder 1");
     return;}



    //Ausgabe
    /* Ausgabe des Ergebnisses unter der Bedingung, dass 1 + 1 = 1 und alles
     * andere 0 ist.
     */

    if(aaa == 2) {
    tfd_ziel128.setText("1");
      return;
    }
    if(bbb == 2) {
      tfd_ziel64.setText("1");
      return;
    }
    if(ccc == 2) {
      tfd_ziel32.setText("1");
      return;
    }
    if(ddd == 2) {
      tfd_ziel16.setText("1");
      return;
    }
    if(eee == 2) {
      tfd_ziel8.setText("1");
      return;
    }
    if(fff == 2) {
      tfd_ziel4.setText("1");
      return;
    }
    if(ggg == 2) {
      tfd_ziel2.setText("1");
      return;
    }
    if(hhh == 2) {
      tfd_ziel1.setText("1");
      return;
    }

  }


oder liegt es an meinen if's? Kann ich diese fuer diese Art der Benutzung gar nicht verwenden, sondern benoetige eine for-Schleife oder etwaiges?
 
Zuletzt bearbeitet:
N

nillehammer

Gast
wenn diese die Bedingung erfuellt, erfuellen aber gleichzeitig auch die 4. und 5. Textbox bspw. die Bedingung, ignoriert mein Programm dies voellig. Warum tut es das?
Wegen des
Code:
return;
. Damit springst Du direkt aus der Methode raus.
 

f10

Aktives Mitglied
Ich danke dir! Ich dachte, dass das return; notwendig ist, um aus dem if herauszukommen und dann weiter im Quelltext zu gehen.
 
T

TryToHelp

Gast
Durch dein
Code:
return
beendet dein Programm nach dem ausführen der Codezeilen bis dahin, so es in den if-Teil gegangen ist die Funktion, alle weiteren Zeilen unterhalb dieser Zeile werden nicht mher ausgeführt.

Beispiel

Java:
int a=0;
System.out.println("Zahl="+a);
a=1; 
System.out.println("Zahl="+a);
return;
a=2;
System.out.println("Zahl="+a);

Also arbeitet Java deinen Quellcode Zeilenweise ab, bis es durch ein
Code:
return
beendet wird, alles was danach kommt, wird nicht mehr ausgeführt, da es durch das
Code:
return
schon vorher beendet wurde

[EDIT]Zu langsam und ich schließe mich meinen vorpostern an[/EDIT]
 

f10

Aktives Mitglied
Tut mir leid, dass ich das immer so umstaendlich mache, ich versuche eine Programmierloesung zu finden, die ich mit meinem geringem Kenntnisstand auch verstehen kann, bzw die ich auch umsetzen kann. Arrays und Listen kenne ich in Java noch nicht.
 
T

trääät

Gast
ganz erlich ? wozu das return ?

entweder ein IF trifft zu .. dann wird sein inhalt ausgeführt ... oder es trifft nicht zu und der block wird übergangen ...

zeile 38 bis 61 würde ich so schreiben

Java:
if(a<0||b<0||c<0||d<0||e<0||f<0||g<0||h<0)
{
throw new NumberFormatException("Keine negativen Werte");
}

reicht ... fertig ... aus ...

dann 62 bis 85 ... genau das gleiche

Java:
if(a>1||b>1||c>1||d>1||e>1||f>1||g>1||h>1)
{
throw new NumberFormatException("Dualzahlen sind 0 oder 1");
}

fertig ...

und dann ALLE returns in folgenden zeilen RAUS : 146, 150, 154, 158, 162, 166, 170, 174

mein gott ... so schwer ist das wirklich nicht ... aber du lernst ja auch nicht aus deinen anderen threads wo sowas schon angerissen wurde ...

und nur so neben bei : man sollte sich erstmal mit basics befassen .. wo eben ARRAYs und LISTs nun mal dazu gehören ... bevor man sich an eine GUI setzt und dabei ziemlich viel "falsch" bzw einfahc nur "ziemlich schlecht" macht
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
J Methoden Die Reihenfolge der Iterator-Elemente umkehren Java Basics - Anfänger-Themen 3
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
I Array in umgekehrter Reihenfolge - Erklärung - Java Basics - Anfänger-Themen 3
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
M Feste Reihenfolge von dem Ablauf von Methoden Java Basics - Anfänger-Themen 7
H Knoten-Reihenfolge einer LinkedList invertieren Java Basics - Anfänger-Themen 11
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
A String in umgekehrter Reihenfolge ausgeben Java Basics - Anfänger-Themen 7
L Reihenfolge Ausgabe Java Basics - Anfänger-Themen 5
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
D TAB Reihenfolge im JSinner Java Basics - Anfänger-Themen 1
RowdyN Methoden Befehle in zufälliger Reihenfolge ausführen lassen Java Basics - Anfänger-Themen 5
B Arrays in Reihenfolge vertauschen Java Basics - Anfänger-Themen 6
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Array Reihenfolge umdrehen Java Basics - Anfänger-Themen 9
J Klassen Reihenfolge beim Aufruf von Klassen Java Basics - Anfänger-Themen 1
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
S Warum muss ich die operationen mit AffineTransform in umgekehrter Reihenfolge ausfuehren..? Java Basics - Anfänger-Themen 4
M Reihenfolge von Testmethoden in JUnit beeinflussen Java Basics - Anfänger-Themen 2
M Ausgabe in falscher Reihenfolge Java Basics - Anfänger-Themen 7
S Vokal Reihenfolge Java Basics - Anfänger-Themen 1
C if Reihenfolge Java Basics - Anfänger-Themen 2
W String von hinten alle drei Zeichen abschneiden und in umgekehrter Reihenfolge ausgeben. Java Basics - Anfänger-Themen 9
S Jede Reihenfolge einer zufällig langen Liste ausprobieren Java Basics - Anfänger-Themen 3
B AffineTransform - Reihenfolge der Operationen Java Basics - Anfänger-Themen 3
B Methoden Logische Reihenfolge in Programmen? Java Basics - Anfänger-Themen 4
D Problem mit Initialisierung und Reihenfolge Java Basics - Anfänger-Themen 10
O Zwingende Reihenfolge von Methoden Java Basics - Anfänger-Themen 33
P Vereinfachte for-Schleife wird in umgekehrter Reihenfolge ausgewertet Java Basics - Anfänger-Themen 7
X Collections Reihenfolge bestimmter Objekte in einer ArrayList verändern Java Basics - Anfänger-Themen 2
S Buttons übereinander legen - Reihenfolge Java Basics - Anfänger-Themen 2
G Zahlen in zufälliger Reihenfolge ausgeben/speichern. Java Basics - Anfänger-Themen 2
R Reihenfolge im Konstruktor der Objekte Java Basics - Anfänger-Themen 13
L Properties Reihenfolge vorgeben Java Basics - Anfänger-Themen 13
N Reihenfolge von Methoden Java Basics - Anfänger-Themen 5
F Reihenfolge in der Events abgearbeitet werden Java Basics - Anfänger-Themen 2
A Wörter umgekehrten Reihenfolge ausgeben Java Basics - Anfänger-Themen 3
A Reihenfolge bei equals() Java Basics - Anfänger-Themen 2
K Reihenfolge Modifikatoren Java Basics - Anfänger-Themen 6
U Zuweisungen - Reihenfolge Java Basics - Anfänger-Themen 9
S Falsche Reihenfolge von Methodenaufrufen Java Basics - Anfänger-Themen 8
G Array Reihenfolge ändern Java Basics - Anfänger-Themen 6
M Reihenfolge von Objekten im Vektor Java Basics - Anfänger-Themen 3
A Liste von Listen mit fester reihenfolge Java Basics - Anfänger-Themen 6
P Frage zu OO (Reihenfolge der Klassen) Java Basics - Anfänger-Themen 2
G Feld in umgekehrter Reihenfolge an zweites Feld übergeben Java Basics - Anfänger-Themen 5
T Reihenfolge von Strings prüfen Java Basics - Anfänger-Themen 3
B Stack mit Strings in zufälliger Reihenfolge füllen Java Basics - Anfänger-Themen 4
K Array umgedrehte Reihenfolge Java Basics - Anfänger-Themen 2
M String Reihenfolge umkehren Java Basics - Anfänger-Themen 2
M Array anders sortieren, aber die Reihenfolge beibehalten Java Basics - Anfänger-Themen 4
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
N Zahlen einlesen und in umgekehrter Reihenfolge ausgeben Java Basics - Anfänger-Themen 5
D Array in umgekehrter Reihenfolge Java Basics - Anfänger-Themen 4
A Reihenfolge erfassen Java Basics - Anfänger-Themen 11
A String Zeichen löschen in einer bestimmten Reihenfolge Java Basics - Anfänger-Themen 25
G Zahlen in umgekehrter Reihenfolge ausgeben Java Basics - Anfänger-Themen 6
A Exception Reihenfolge Java Basics - Anfänger-Themen 3
M Sorry,ne blöde Frage Focus setzen und Focus Reihenfolge Java Basics - Anfänger-Themen 15
L Reihenfolge der Methodenaufrufe Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben