Kann jemand bitte auf Fehler korrigieren?

Hallo, ich habe folgende Aufgabe, bei der ich mir nicht so sicher bin, ob meine Antworten richtig sind. Falls einer drüber schauen kann, wäre ich sehr dankbar.

Das was ich Fett makiert habe sind meine Antworten.

Ich bedanke mich im Voraus!

Folgende Klassen sind gegeben:

public absract class Ticket{
private String inhaber;
public Tickets(String inhaber){
this.inhaber=inhaber;
}

protected String getInhaber[]{
return inhaber;
}
abstract double getPreis();
public String toString(){
return "Ticket von "+inhaber;
}
}

public final class Einzelticket extends Ticket{
public int maxStationen = 3;
public Einzelticket(String inhaber, int maxStationen]{
super(inhaber);
this.maxStationen=maxStationen;
}
public String toString(){
return "Einzelticket von " + super.getInhaber() + " für " + maxStationen + }
public double getPreis(){
}
}
public class Aboticket extends Ticket{
private int gueltigkeitsTage;
public Aboticket(String inhaber, int gueltigkeitsTage){
super(inhaber);
this.gueltigkeitsTage=gueltigkeitsTage;
}
public double getPreis(){
return gueltigkeitsTage *1.2;
}
}
public class Test{
public static void main(String args[]{
Einzelticket et = new Einzelticket("Alice",3);
Aboticket at = new Aboticket("Bob",4);
Ticket[] tickets = {et};
//Hier wurden die Befehle eingefügt
}}

Die folgenden Befehle werden am Ende der Main-Methode eingefügt.

Wählen Sie so aus, dass wahre Aussagen entstehen.

a.)System.out.println(et); ____________

Zur Auswahl:

- gibt "Einzelticket von Alice für 3 Stationen" aus

- gibt "Ticket von Alice" aus

- gibt kryptische String aus

- schmeißt einen Compilerfehler

b.)System.out.println(at); __________

Zur Auswahl

- gibt "Einzelticket von Bob für 3 Stationen" aus

- gibt "Ticket von Bob" aus

- gibt kryptische String aus

- schmeißt einen Compiler

c.)System.out.println(et.getInhaber()); ___________

Zur Auswahl

- gibt "Alice" aus

- gibt "Ticket von Alice" aus

- gibt "true" aus

- schmeißt einen Compilerfehler

d.)System.out.println(et instanceof Ticket); ___________

Zur Auswahl

- gibt "true" aus

- gibt "false" aus

- gibt "Einzelticket" aus

- gibt "Ticket" aus

- schmeißt einen Compilerfehler

e.)System.out.println(tickets[0] instanceof Einzelticket); __________

Zur Auswahl

- gibt "true" aus

- gibt "false" aus

- gibt "Einzelticket" aus

- gibt "Ticket" aus

- schmeißt einen Compilerfehler

f.) tickets[0].maxStationen=2; ____________

Zur Auswahl

- setzt das Attribut maxStationen auf 2

- passiert nichts

- schmeißt einen Compilerfehler

g.)System.out.println(tickets[0]); ___________

Zur Auswahl

- gibt "Einzelticket von Alice für 3 Stationen" aus

- gibt "Ticket von Alice" aus

- gibt kryptische String aus

- schmeißt einen Compilerfehler

h.)System.out.println(tickets[0].getPreis()); _________

Zur Auswahl

- gibt "2.5" aus

- gibt "Ticket von Alice" aus

- gibt kryptischen String aus

- schmeißt einen Compilerfeher

Java, Code
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.