Pārlūkot izejas kodu

Zahlenrätsel hinzugefügt: "ich packe meine Koffer" mit Zahlen

master
akimmig pirms 5 gadiem
vecāks
revīzija
5a7d462177
4 mainītis faili ar 180 papildinājumiem un 2 dzēšanām
  1. +106
    -0
      src/ab51_zahlenraetsel/List.java
  2. +33
    -0
      src/ab51_zahlenraetsel/Node.java
  3. +41
    -0
      src/ab51_zahlenraetsel/Start.java
  4. +0
    -2
      src/ab51_zahlenreihe/Start.java

+ 106
- 0
src/ab51_zahlenraetsel/List.java Parādīt failu

@@ -0,0 +1,106 @@
package ab51_zahlenraetsel;

/**
* variable Liste um Zahlenreihen zu speichern
*
* @author A. Kimmig
*
*/
public class List {
/**
* Verweis auf den ersten Eintrag bzw. null wenn noch kein
* Eintrag vorhanden ist
*/
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) {
// Neue Node erstellen
Node neu = new Node(z, null);
// Hilfsobjekt, um durch die Liste zu gehen
Node zwischen = first;
// Wenn Liste noch leer
if(first == null) {
first = neu;
} else { // ansonsten
while(zwischen.next != null) {
// gehe durch die Liste bis zum Ende
zwischen = zwischen.next;
}
// an letztes Element anhängen
zwischen.next = neu;
}
}
/**
* Gibt die Anzahl der Einträge zurück
*
* @return Anzahl der Einträge
*/
public int länge() {
// wenn Liste leer ist
if(first == null) {
// gib 0 als Länge zurück
return 0;
}
// Hilfsobjekt, um durch Liste zu gehen
Node zwischen = first;
// Zähl-Variable
int count = 0;
// gehe durch die Liste durch
while(zwischen != null) {
count++;
zwischen = zwischen.next;
}
// gib die gezählte Anzahl zurück
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() {
if(first == null) {
return 0;
}
// erste Zahl der Liste zwischenspeichern
int zahl = first.zahl;
// der erste Eintrag wird "verschoben"
first = first.next;

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
















+ 33
- 0
src/ab51_zahlenraetsel/Node.java Parādīt failu

@@ -0,0 +1,33 @@
package ab51_zahlenraetsel;

/**
* 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 {
/**
* Zahl in diesem Eintrag
*/
public int zahl;
/**
* Verweis auf den nächsten Eintrag
*/
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) {
this.zahl = z;
this.next = next;
}
}

+ 41
- 0
src/ab51_zahlenraetsel/Start.java Parādīt failu

@@ -0,0 +1,41 @@
package ab51_zahlenraetsel;

import java.util.Scanner;

public class Start {
public static void main(String[] args) {
// erstelle die Liste
List zahlenreihe = new List();
// erstelle den Scanner, um Zahlen eingeben zu können
Scanner sc = new Scanner(System.in);
// wiederhole immer wieder
while (true) {
// Hilfsobjekt, um durch die Liste zu gehen
Node current = zahlenreihe.first;
// Frage alle bisherigen Zahlen ab...
System.out.println("Gib die bisherigen Zahlen ein:");
while (current != null) {
System.out.print("Nächste Zahl: ");
int zahl = sc.nextInt();
// ...und vergleiche sie mit der Liste
if (zahl != current.zahl) {
// wenn falsche Zahl eingegeben wurde
System.out.println("Falsch! Du hast verloren!");
// brich das ganze Programm ab
return;
}
// ansonsten gehe zur nächsten Zahl
current = current.next;
}
System.out.println("Alles richtig!");
System.out.print("Bitte neue Zahl eingeben: ");
// füge eine neue Zahl zur Liste hinzu
zahlenreihe.hinzufügen(sc.nextInt());
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
}
}
}

+ 0
- 2
src/ab51_zahlenreihe/Start.java Parādīt failu

@@ -2,8 +2,6 @@ package ab51_zahlenreihe;

import java.util.Scanner;

import zahlenraetsel.List;

public class Start {
public static void main(String[] args) {
// ertelle die Liste

Notiek ielāde…
Atcelt
Saglabāt