Handsimulation - richtig?

Hallo, ich wollte mal gerne wissen, ob meine Handsimulation richtig ist.

Ich hoffe jemand kann mir dabei helfen :)

Aufgabe

Führt eine Handsimulation für folgendes Programm durch. Schreibt also in die Tabelle, welche Zeilen nacheinander ausgeführt werden (erste Spalte), und welche Werte die Variablen nach Ausführung dieser Zeile jeweils haben (die anderen Spalten).

  • Variablen, die zu diesem Zeitpunkt noch nicht existieren, werden mit - markiert
  • Variablen, deren Wert undefiniert ist, werden mit undef markiert
  • Felder von Variablen, die sich nicht ändern bleiben leer! Dies wird interpretiert als “gleicher Wert wie in der Zeile davor”. Das wiederholte Eintragen von Werten in Felder von Variablen die sich nicht ändern ist falsch (Das Eintragen eines Wertes bedeutet "der Speicher für die Variable bekommt an dieser Stelle (erneut) den angegebenen Wert zugewiesen").
  • Die erste ausgeführte Zeile einer Funktion ist immer die öffnende Klammer
  • Die letzte ausgeführte Zeile einer Funktion ist immer die schließende Klammer
  • Beim Sprung in eine Funktion wird hinter die aktuelle Zeile in Klammern die Zeile, aus der der Sprung stattgefunden hat, geschrieben (z.B: 7(14); Achtung: Bitte nur die Zahlen und die Klammern. Sollten Leerzeichen dazwischen kommen, erkennt ISIS die Lösung als falsch an).
  • Die Anzahl der Zeilen in der Tabelle ist abgezählt, die Vorgaben sind korrekt.

Programm

 
1 public class HuetchenSpieler {
2
3  public static void sortieren(Huetchen links, Huetchen mitte, Huetchen rechts) {
4   links.kugel = rechts.kugel;
5   rechts.kugel = mitte.kugel;
6   mitte = links;  
7  }
8
9
10  public static void main(String[] args) {
11   Huetchen l = new Huetchen(0);
12   Huetchen m = new Huetchen(0);
13   Huetchen r = new Huetchen(1);
14   Terminal.print("Wo ist die 1?\n links: "+l.kugel+", mitte: "+m.kugel+", rechts: "+r.kugel+" \n");
15   sortieren(l,m,r);
16   Terminal.print("Und jetzt .. \n links: "+l.kugel+", mitte: "+m.kugel+", rechts: "+r.kugel+" \n");
17   sortieren(l,m,r);
18   Terminal.print("Und jetzt .. \n links: "+l.kugel+", mitte: "+m.kugel+", rechts: "+r.kugel+" \n");
19  }
20 }

Das Objekt l erhält bei der Ausführung im Speicher Adresse 50, Objekt m Adresse 51 und Objekt r Adresse 52.

Um euch ein besseres Bild von der Klasse Huetchen machen zu können steht im folgenden der Quelltext. Bei

der Simulation soll sie aber vernachlässigt werden, nur HuetchenSpieler ist relevant. (Es muss also auch nicht

beim Konstruktoraufruf in die Klasse gesprungen werden!)

Die Klasse Huetchen

public class Huetchen {
  public int kugel;
 
  public Huetchen(int kugel) {
    this.kugel = kugel; 
  }
}

Bild zum Beitrag
Programm, Java, Simulation

Habe ich im Programm alle Syntaxfehler gefunden?

Hallo, ich muss ein Programm auf Syntaxfehler überprüfen. Ich habe auch schon angefangen und habe das auch in einem Java-Compiler eingefügt, um zu prüfen. Ich komme aber nicht auf die Fehler, die ich da noch korrigieren muss.

Fehlerhaftes Programm:

public class Fehler {

public static void main(String args) {

System.out.println("Hallo!");

double long = 2;
double not_so_long = 0.3;
int area = long * not_so_long;

System.out.println(area);

boolean istLang = true;
bulean ist Kurz = istLang - 1;

System.out.println(istKurz);

String 1string = "Bye";
string string2 = "Bye!"
char c = "!";

System.out.println(1string+string2-c);

}

}

Korrigiertes Programm:

public class Korrigiert {
  public static void main(String[] args) {     
    System.out.println("Hallo!");

    double string = 2;
    double not_so_long = 0.3;
    int area = long * not_so_long;

    System.out.println(area);

    boolean istLang = true;
    boolean istKurz = istLang;

    System.out.println(istKurz);

    String String = "Bye";
    String String = "Bye!";
    char c = '!';  
       
    System.out.println(1string + string2 - c);     
  }
}

Ich hoffe, dass mir da jemand helfen oder Tipps geben kann, wo und was ich noch korrigieren muss. 🙂

Vielleicht noch dazu, es muss:

-Hallo!

-0,6

-false

-ByeBye!

herauskommen.

Danke im Voraus!

programmieren, Java, Syntaxfehler
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.