Hilfe
  • Für diesen Aufgabentyp steht keine spezielle Hilfe zur Verfügung.
  • Weitere Hilfethemen

6. Fehler im Code erkennen

Aufgabe

Aufgabe 1 von 12 in Level 6
  • Der dargestellte Code enthält einen Fehler. Gib die Zeile an und wähle die Fehlerbeschreibung, die deiner Ansicht nach am besten passt.
  • public class Schueler{
    private String name;
       public Schueler(int nr, String name){
           this.nr=nr;
           this.name=name;
       }
    }

    Der Fehler tritt in dieser Zeile auf:

    Zeilen-Nr.:

    Er wird am besten durch diesen Satz beschrieben:

Hilfe
Hilfe
Notizfeld
Notizfeld
Lösung
  • Achtung
    Du hast noch keinen eigenen Lösungsversuch gestartet. Sobald du auf »Lösung anzeigen« klickst, gilt die Aufgabe als nicht gelöst und die Bewertung deiner Leistung für diesen Level verschlechtert sich.
Stoff zum Thema

Bei der Deklaration einer Variable wird ihr Datentyp und ihr Name festgelegt.

Der Name muss hierbei eindeutig sein, d.h. es dürfen im einem Programmblock niemals zwei Variablen mit dem gleichen Namen deklariert werden. Ein Programmblock wird durch geschweifte Klammern begrenzt.

Java verwendet folgende Datentypen (die wichtigsten sind fett gedruckt):

Speicherung von typische Datentypen
ganze Zahlen int, byte, short, long
Dezimalzahlen float, double
Wahrheitswerte boolean
Zeichenketten String
  • Attribute werden auf der obersten Ebene einer Klasse deklariert:
    public class Spielfigur{
        private String name;
        private int leben;
        ...
    }

    Damit kann an allen Stellen im Code der Klasse auf sie zugegriffen werden.
    In der Regel sind sie mit dem Zugriffsmodifikator private deklariert, damit sie von Objekten anderer Klassen nicht direkt verändert werden können.

  • Lokale Variablen werden in einem Code-Block deklariert.
    Sie gelten nur innerhalb dieses Blocks.
    Code-Blöcke werden in Java von geschweiften Klammern umgeben.
    Auf die lokale Variable wert kann nur innerhalb der Methode wertung zugegriffen werden:

    public class Spielfigur{ 
       ...
       public int wertung(){
           int wert=0;
           ...
       }
       ...
    }

    Auf die lokale Variable i nur innerhalb der Zählschleife:

    ...
    for (int i=0;i<10;i++){
       ...
    }
    ...
  • Parameter werden bei der Deklaration einer Methode festgelegt.
    Die stehen in runden Klammern hinter dem Namen der Methode:
    public int quadrat(int zahl){
        return zahl*zahl;
    }

     Der formale Parameter ist nur im Rumpf der Methode sichtbar.

  • Beim Aufruf der Methode muss dem Parameter ein konkreter Wert zugewiesen werden. 
    In diesem Fall ist dies die Zahl 3. Die Methode quadrat gibt damit den Wert 9 zurück.
    ...
    ergebnis=quadrat(3);
    ...

     

Wenn eine Variable initialisiert wird, wird ist erstmals ein Wert zugewiesen.

Bei lokalen Variablen geschieht das in der Regel direkt nach der Deklaration der Variable:

int leben=3;
for (int i=0;i<3;i++){...}{

 Bei Attributen ist dies grundsätzlich auch möglich:

private int leben=3;

 Häufig werden Attribute aber im Konstruktor der Klasse initialisiert:

public class Spielfigur{
   private int leben;  // Deklaration des Attributs
   public Spielfigur(){  // Kopf des Konstruktors
       this.leben=3; // Initialisierung des Attributs
       ...
   }
   ...
}