Selaa lähdekoodia

AB51 kommentiert

master
akimmig 5 vuotta sitten
vanhempi
commit
ad0db66035
3 muutettua tiedostoa jossa 73 lisäystä ja 5 poistoa
  1. +41
    -5
      src/ab51_zahlenreihe/List.java
  2. +22
    -0
      src/ab51_zahlenreihe/Node.java
  3. +10
    -0
      src/ab51_zahlenreihe/Start.java

+ 41
- 5
src/ab51_zahlenreihe/List.java Näytä tiedosto

package ab51_zahlenreihe; package ab51_zahlenreihe;


/**
* variable Liste um Zahlenreihen zu speichern
*
* @author A. Kimmig
*
*/
public class List { public class List {
/**
* Verweis auf den ersten Eintrag bzw. null wenn noch kein
* Eintrag vorhanden ist
*/
public Node first; public Node first;
/**
* Fügt eine neue Zahl zur Liste hinzu, indem zuerst ein Node
* mit dieser Zahl erstellt wird und dieser Node an die
* bestehende Liste angehängt wird
*
* @param z Zahl, die in die Liste eingetragen werden soll
*/
public void hinzufügen(int z) { public void hinzufügen(int z) {
// Neue Node erstellen
Node neu = new Node(z, null); Node neu = new Node(z, null);
// Hilfsobjekt, um durch die Liste zu gehen
Node zwischen = first; Node zwischen = first;
// Wenn Liste noch leer // Wenn Liste noch leer
} }
} }
// Gibt die Anzahl der Einträge in der Liste zurück
/**
* Gibt die Anzahl der Einträge zurück
*
* @return Anzahl der Einträge
*/
public int länge() { public int länge() {
// wenn Liste leer ist
if(first == null) { if(first == null) {
// gib 0 als Länge zurück
return 0; return 0;
} }
// Hilfsobjekt, um durch Liste zu gehen
Node zwischen = first; Node zwischen = first;
// Zähl-Variable
int count = 0; int count = 0;
// gehe durch die Liste durch
while(zwischen != null) { while(zwischen != null) {
count++; count++;
zwischen = zwischen.next; zwischen = zwischen.next;
} }
// gib die gezählte Anzahl zurück
return count; return count;
} }
/**
* Entfernt einen Eintrag aus der Liste und gibt die Zahl,
* die in diesem Eintrag stand zurück
*
* @return Zahl, die entfernt wurde.
*/
public int herausnehmen() { public int herausnehmen() {
if(first == null) { if(first == null) {
return 0; return 0;
} }
// Nächster Schüler wird zwischengespeichert
// erste Zahl der Liste zwischenspeichern
int zahl = first.zahl; int zahl = first.zahl;
// Der erste Eintrag wird "verschoben"
// der erste Eintrag wird "verschoben"
first = first.next; first = first.next;


// Der zwischengespeicherte Schüler wird zurückgegeben
// die zwischengespeicherte Zahl wird zurückgegeben
return zahl; return zahl;
} }
} }

+ 22
- 0
src/ab51_zahlenreihe/Node.java Näytä tiedosto

package ab51_zahlenreihe; package ab51_zahlenreihe;


/**
* Ein Node repräsentiert einen Eintrag in der Liste.
*
* Er setzt sich zusammen aus einer Zahl und einem
* Verweis auf den nachfolgenden Eintrag
*
* @author A. Kimmig
*
*/
public class Node { public class Node {
/**
* Zahl in diesem Eintrag
*/
public int zahl; public int zahl;
/**
* Verweis auf den nächsten Eintrag
*/
public Node next; public Node next;
/**
* Konstruktor
* @param z Zahl, die in diesem Eintrag steht
* @param next Verweis auf den nächsten Eintrag
*/
public Node(int z, Node next) { public Node(int z, Node next) {
this.zahl = z; this.zahl = z;
this.next = next; this.next = next;

+ 10
- 0
src/ab51_zahlenreihe/Start.java Näytä tiedosto



import java.util.Scanner; import java.util.Scanner;


import zahlenraetsel.List;

public class Start { public class Start {
public static void main(String[] args) { public static void main(String[] args) {
// ertelle die Liste
List zahlenreihe = new List(); List zahlenreihe = new List();
// erstelle den Scanner um Zahlen eingeben zu können
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
// hole die nächste Zahl über die Konsole
int zahl = sc.nextInt(); int zahl = sc.nextInt();
// hole so lange Zahlen, bis eine 0 eingegeben wurde...
while(zahl != 0) { while(zahl != 0) {
// ...und füge sie der Liste hinzu
zahlenreihe.hinzufügen(zahl); zahlenreihe.hinzufügen(zahl);
zahl = sc.nextInt(); zahl = sc.nextInt();
} }
System.out.println("Die eingegebenen Zahlen waren:"); System.out.println("Die eingegebenen Zahlen waren:");
// nimm Zahlen aus der Liste heraus...
zahl = zahlenreihe.herausnehmen(); zahl = zahlenreihe.herausnehmen();
// ...solange die Zahl nicht 0 war...
while(zahl != 0) { while(zahl != 0) {
// ...und gib diese auf der Konsole aus
System.out.println(zahl); System.out.println(zahl);
zahl = zahlenreihe.herausnehmen(); zahl = zahlenreihe.herausnehmen();
} }

Loading…
Peruuta
Tallenna