+Alles zusammen
This commit is contained in:
		
							parent
							
								
									2aae6d889a
								
							
						
					
					
						commit
						08d0baf7f5
					
				@ -1,227 +0,0 @@
 | 
				
			|||||||
package com.company.lösungen;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class Ebook {
 | 
					 | 
				
			||||||
    // Öffentliche Klasse zur Repräsentation eines E-Books
 | 
					 | 
				
			||||||
    public class Ebook {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private MediaAsset[] assets;
 | 
					 | 
				
			||||||
        private String author;
 | 
					 | 
				
			||||||
        private int year;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentlicher Konstruktor, der zur Angabe von
 | 
					 | 
				
			||||||
        // Autor und Jahreszahl verpflichtet
 | 
					 | 
				
			||||||
        public Ebook(String author, int year) {
 | 
					 | 
				
			||||||
            this.assets = new MediaAsset[100];
 | 
					 | 
				
			||||||
            this.author = author;
 | 
					 | 
				
			||||||
            this.year = year;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe der Seitenanzahl
 | 
					 | 
				
			||||||
        public int numPages() {
 | 
					 | 
				
			||||||
            float sum = 0.0f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gehe Assets-Array durch
 | 
					 | 
				
			||||||
            for (int i = 0; i < assets.length; i = i + 1) {
 | 
					 | 
				
			||||||
                // Ist Eintrag in Array vorhanden, dann Summe errechnen
 | 
					 | 
				
			||||||
                if (assets[i] != null) {
 | 
					 | 
				
			||||||
                    sum = sum + assets[i].numPages();
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return Math.round(sum);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode, über die ein MediaAsset hinzugefügt werden kann
 | 
					 | 
				
			||||||
        // Das Asset muss an die Methode übergeben werden.
 | 
					 | 
				
			||||||
        public void addAsset(MediaAsset asset) {
 | 
					 | 
				
			||||||
            // Gehe Assets-Array durch
 | 
					 | 
				
			||||||
            for (int i = 0; i < assets.length; i = i + 1) {
 | 
					 | 
				
			||||||
                // Ist kein Eintrag in Array vorhanden, dann einmal hinzufügen
 | 
					 | 
				
			||||||
                if (assets[i] == null) {
 | 
					 | 
				
			||||||
                    assets[i] = asset;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    // Springe aus Schleife
 | 
					 | 
				
			||||||
                    break;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode, die eine String-Repräsentation dieses
 | 
					 | 
				
			||||||
        // E-Books zurückliefert.
 | 
					 | 
				
			||||||
        public String toString() {
 | 
					 | 
				
			||||||
            String output = "Ebook: " + author + " (" + year + ")\nSeiten: " +
 | 
					 | 
				
			||||||
                    numPages() + "\n-------\n";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gehe Array-Inhalte durch
 | 
					 | 
				
			||||||
            for (int i = 0; i < assets.length; i = i + 1) {
 | 
					 | 
				
			||||||
                // Füge toString-Ausgabe hinzu
 | 
					 | 
				
			||||||
                if (assets[i] != null) {
 | 
					 | 
				
			||||||
                    output = output + assets[i].toString();
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return output;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Klasse zur Beschreibung eines MediaAsset
 | 
					 | 
				
			||||||
    public class MediaAsset {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private String file;
 | 
					 | 
				
			||||||
        private int size;
 | 
					 | 
				
			||||||
        private String language;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Konstruktor, der zur Angabe diverser Informationen verpflichtet
 | 
					 | 
				
			||||||
        public MediaAsset(String file, int size, String language) {
 | 
					 | 
				
			||||||
            this.file = file;
 | 
					 | 
				
			||||||
            this.size = size;
 | 
					 | 
				
			||||||
            this.language = language;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zur Rückgabe der Seitenanzahl ist hierbei nicht möglich
 | 
					 | 
				
			||||||
        public float numPages() {
 | 
					 | 
				
			||||||
            // Ein undefiniertes Asset trägt nicht zur Seitenzahl bei
 | 
					 | 
				
			||||||
            return 0.0f;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zur Repräsentation des Assets
 | 
					 | 
				
			||||||
        public String toString() {
 | 
					 | 
				
			||||||
            return file + " (" + numPages() + " Seiten)\n";
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse zur Repräsentation eines TextAssets, die
 | 
					 | 
				
			||||||
// von der Klasse MediaAsset ableitet.
 | 
					 | 
				
			||||||
    public class TextAsset extends MediaAsset {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private int numChars;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Konstruktor, der zur Angabe von Werten für Dateinamen, -größe,
 | 
					 | 
				
			||||||
        // Sprache sowie Anzahl an Zeichen verpflichtet
 | 
					 | 
				
			||||||
        public TextAsset(String file, int size, String language, int numChars) {
 | 
					 | 
				
			||||||
            // Aufruf der Basisklasse und Übergabe der Werte
 | 
					 | 
				
			||||||
            super(file, size, language);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Spezifische Werte werden lokal gespeichert
 | 
					 | 
				
			||||||
            this.numChars = numChars;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zur Abfrage der Anzahl an Seiten
 | 
					 | 
				
			||||||
        public float numPages() {
 | 
					 | 
				
			||||||
            return numChars / 2000.0f;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse zur Repräsentation eines PictureAssets, die
 | 
					 | 
				
			||||||
// von der Klasse MediaAsset ableitet.
 | 
					 | 
				
			||||||
    public class PictureAsset extends MediaAsset {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private int w;
 | 
					 | 
				
			||||||
        private int h;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentlicher Konstruktor, der zur Angabe der folgenden Werte
 | 
					 | 
				
			||||||
        // verpflichtet
 | 
					 | 
				
			||||||
        public PictureAsset(
 | 
					 | 
				
			||||||
                String file,
 | 
					 | 
				
			||||||
                int size,
 | 
					 | 
				
			||||||
                String language,
 | 
					 | 
				
			||||||
                int w,
 | 
					 | 
				
			||||||
                int h
 | 
					 | 
				
			||||||
        ) {
 | 
					 | 
				
			||||||
            // Aufruf und Übergabe der von der Basisklasse verwalteten Werte
 | 
					 | 
				
			||||||
            super(file, size, language);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Übrige Werte werden lokal festgehalten
 | 
					 | 
				
			||||||
            this.w = w;
 | 
					 | 
				
			||||||
            this.h = h;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zur Berechnung und Rückgabe der Anzahl von Seiten
 | 
					 | 
				
			||||||
        public float numPages() {
 | 
					 | 
				
			||||||
            float height = h * (960 / (float)w);
 | 
					 | 
				
			||||||
            if (height > 600) {
 | 
					 | 
				
			||||||
                return 1.0f;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else {
 | 
					 | 
				
			||||||
                return 0.5f;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse zur Repräsentation eines PictureAssets, die
 | 
					 | 
				
			||||||
// von der Klasse MediaAsset ableitet.
 | 
					 | 
				
			||||||
    public class AudioAsset extends MediaAsset {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private int duration;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentlicher Konstruktor, der zur Angabe der folgenden Werte
 | 
					 | 
				
			||||||
        // verpflichtet
 | 
					 | 
				
			||||||
        public AudioAsset(String file, int size, String language, int duration) {
 | 
					 | 
				
			||||||
            // Aufruf und Übergabe der von der Basisklasse verwalteten Werte
 | 
					 | 
				
			||||||
            super(file, size, language);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Übrige Werte werden lokal festgehalten
 | 
					 | 
				
			||||||
            this.duration = duration;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zur Berechnung und Rückgabe der Anzahl von Seiten
 | 
					 | 
				
			||||||
        public float numPages() {
 | 
					 | 
				
			||||||
            return 0.0f;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse zur Repräsentation eines VideoAssets, die
 | 
					 | 
				
			||||||
// von der Klasse MediaAsset ableitet.
 | 
					 | 
				
			||||||
    public class VideoAsset extends MediaAsset {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private int duration;
 | 
					 | 
				
			||||||
        private int w;
 | 
					 | 
				
			||||||
        private int h;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Konstruktor, der zur Angabe der folgenden Werte verpflichtet
 | 
					 | 
				
			||||||
        public VideoAsset(
 | 
					 | 
				
			||||||
                String file,
 | 
					 | 
				
			||||||
                int size,
 | 
					 | 
				
			||||||
                String language,
 | 
					 | 
				
			||||||
                int duration,
 | 
					 | 
				
			||||||
                int w,
 | 
					 | 
				
			||||||
                int h
 | 
					 | 
				
			||||||
        ) {
 | 
					 | 
				
			||||||
            // Aufruf und Übergabe der von der Basisklasse verwalteten Werte
 | 
					 | 
				
			||||||
            super(file, size, language);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Übrige Werte werden lokal festgehalten
 | 
					 | 
				
			||||||
            this.duration = duration;
 | 
					 | 
				
			||||||
            this.w = w;
 | 
					 | 
				
			||||||
            this.h = h;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zur Berechnung und Rückgabe der Anzahl von Seiten
 | 
					 | 
				
			||||||
        public float numPages() {
 | 
					 | 
				
			||||||
            float height = h * (960 / (float)w);
 | 
					 | 
				
			||||||
            if (height > 600) {
 | 
					 | 
				
			||||||
                return 1.0f;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else {
 | 
					 | 
				
			||||||
                return 0.5f;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Startpunkt des Hauptprogramms
 | 
					 | 
				
			||||||
// Hier werden die implementierten Klassen zu Demonstrations- und
 | 
					 | 
				
			||||||
// Testzwecken instanziiert und verwendet.
 | 
					 | 
				
			||||||
    public void setup() {
 | 
					 | 
				
			||||||
        Ebook testBook = new Ebook("Stephan Wiefling", 2017);
 | 
					 | 
				
			||||||
        testBook.addAsset(new TextAsset("Aufgabe 1", 12, "Deutsch", 3444));
 | 
					 | 
				
			||||||
        testBook.addAsset(new AudioAsset("Audio 1", 12, "Deutsch", 95));
 | 
					 | 
				
			||||||
        testBook.addAsset(
 | 
					 | 
				
			||||||
                new VideoAsset("Video 1", 12, "Deutsch", 95, 800, 800)
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        testBook.addAsset(new PictureAsset("Bild 1", 12, "Deutsch", 2000, 600));
 | 
					 | 
				
			||||||
        testBook.addAsset(new TextAsset("Aufgabe 2", 12, "Deutsch", 7655));
 | 
					 | 
				
			||||||
        System.out.println(testBook);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,202 +0,0 @@
 | 
				
			|||||||
package com.company.lösungen;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class onlineShop {
 | 
					 | 
				
			||||||
    // Öffentliche Klasse zur Repräsentation eines Artikels
 | 
					 | 
				
			||||||
    public class Article {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private int articleNumber;
 | 
					 | 
				
			||||||
        private float price;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Konstruktor, der die Artikelnummer und den Preis
 | 
					 | 
				
			||||||
        // erforderlich macht.
 | 
					 | 
				
			||||||
        public Article(int articleNumber, float price) {
 | 
					 | 
				
			||||||
            this.articleNumber = articleNumber;
 | 
					 | 
				
			||||||
            this.price = price;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode, die den Preis zurückliefert.
 | 
					 | 
				
			||||||
        public float getPrice() {
 | 
					 | 
				
			||||||
            return price;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse, die ein Buch repräsentiert.
 | 
					 | 
				
			||||||
// Die Klasse erbt von der Klasse Artikel
 | 
					 | 
				
			||||||
    public class Book extends Article {
 | 
					 | 
				
			||||||
        // Deklaration eigener privater Variablen
 | 
					 | 
				
			||||||
        private String author;
 | 
					 | 
				
			||||||
        private String title;
 | 
					 | 
				
			||||||
        private int year;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Der Mehrwertsteuersatz für Bücher (7 %) wird durch die
 | 
					 | 
				
			||||||
        // statische Konstante VAT repräsentiert.
 | 
					 | 
				
			||||||
        public static final float VAT = 0.07f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentlicher Konstruktor mit der Vorschrift
 | 
					 | 
				
			||||||
        // zum Anlegen eines Buchobjekts.
 | 
					 | 
				
			||||||
        public Book(
 | 
					 | 
				
			||||||
                int articleNumber,
 | 
					 | 
				
			||||||
                float price,
 | 
					 | 
				
			||||||
                String author,
 | 
					 | 
				
			||||||
                String title,
 | 
					 | 
				
			||||||
                int year
 | 
					 | 
				
			||||||
        ) {
 | 
					 | 
				
			||||||
            // Aufruf des Konstruktors der Basisklasse Article
 | 
					 | 
				
			||||||
            super(articleNumber, price);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Zusätzlich werden die charakterisierenden
 | 
					 | 
				
			||||||
            // Eigenschaften eines Buchs gesetzt.
 | 
					 | 
				
			||||||
            this.author = author;
 | 
					 | 
				
			||||||
            this.title = title;
 | 
					 | 
				
			||||||
            this.year = year;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentliche Methode zur Berechnung des Bruttopreises
 | 
					 | 
				
			||||||
        public float getPrice() {
 | 
					 | 
				
			||||||
            // Rufe für Nettopreis die Methode in der Superklasse auf
 | 
					 | 
				
			||||||
            // und addiere die für Bücher geltende Mehrwertsteuer
 | 
					 | 
				
			||||||
            return round((super.getPrice() + super.getPrice() * Book.VAT) * 100) / 100.0;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentliche Methode, die einen geeigneten String generiert
 | 
					 | 
				
			||||||
        // und zurückliefert.
 | 
					 | 
				
			||||||
        public String toString() {
 | 
					 | 
				
			||||||
            return "Buch - " + author + ": " + title + " (" + year + ")";
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Klasse, die eine DVD repräsentiert und von der Klasse
 | 
					 | 
				
			||||||
// Article ableitet.
 | 
					 | 
				
			||||||
    class DVD extends Article {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen, die spezifisch für eine
 | 
					 | 
				
			||||||
        // DVD sind
 | 
					 | 
				
			||||||
        private String name;
 | 
					 | 
				
			||||||
        private String duration;
 | 
					 | 
				
			||||||
        private int countryCode;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Statische Konstante für Mehrwertsteuersatz für DVDs (19 %)
 | 
					 | 
				
			||||||
        public static final float VAT = 0.19f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentlicher Konstruktor der Klasse DVD. Zum Generieren eines
 | 
					 | 
				
			||||||
        // Objekts der Klasse DVD werden die angegebenen Werte verlangt.
 | 
					 | 
				
			||||||
        public DVD(
 | 
					 | 
				
			||||||
                int articleNumber,
 | 
					 | 
				
			||||||
                float price,
 | 
					 | 
				
			||||||
                String name,
 | 
					 | 
				
			||||||
                String duration,
 | 
					 | 
				
			||||||
                int countryCode
 | 
					 | 
				
			||||||
        ) {
 | 
					 | 
				
			||||||
            // Aufruf des Basisklassenkonstruktors
 | 
					 | 
				
			||||||
            super(articleNumber, price);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Zusätzliche Daten werden in den internen Variablen abgelegt.
 | 
					 | 
				
			||||||
            this.name = name;
 | 
					 | 
				
			||||||
            this.duration = duration;
 | 
					 | 
				
			||||||
            this.countryCode = countryCode;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentliche Methode zur Berechnung des Bruttopreises
 | 
					 | 
				
			||||||
        public float getPrice() {
 | 
					 | 
				
			||||||
            // Rufe für Nettopreis die Methode in der Superklasse auf
 | 
					 | 
				
			||||||
            // und addiere die für Bücher geltende Mehrwertsteuer
 | 
					 | 
				
			||||||
            return round((super.getPrice() + super.getPrice() * DVD.VAT) * 100) / 100.0;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentliche Methode, die einen DVD-repräsentativen String
 | 
					 | 
				
			||||||
        // zurückliefert.
 | 
					 | 
				
			||||||
        public String toString() {
 | 
					 | 
				
			||||||
            return "DVD - " + name;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Klasse, die einen Warenkorb realisiert
 | 
					 | 
				
			||||||
    public class ShoppingCart {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private Article[] cart;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentlicher Konstruktor, der den internen
 | 
					 | 
				
			||||||
        // Warenkorb initialisiert
 | 
					 | 
				
			||||||
        public ShoppingCart() {
 | 
					 | 
				
			||||||
            // Noch leerer Warenkorb
 | 
					 | 
				
			||||||
            this.cart = new Article[0];
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentliche Methode zum Hinzufügen eines Artikels
 | 
					 | 
				
			||||||
        // zum Warenkorb. Der Artikel wird in Form eines
 | 
					 | 
				
			||||||
        // Article-Objekts realisiert. Da sowohl Bücher als
 | 
					 | 
				
			||||||
        // auch DVDs von der Klasse Article erben, sind beide
 | 
					 | 
				
			||||||
        // Typen hier erlaubt und werden dafür auf die Basis-
 | 
					 | 
				
			||||||
        // implementierung zurückgecastet.
 | 
					 | 
				
			||||||
        public void addToCart(Article article) {
 | 
					 | 
				
			||||||
            // Vergrößere Array um ein Element
 | 
					 | 
				
			||||||
            Article[] cartNew = new Article[cart.length + 1];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Kopiere alle Artikel rüber
 | 
					 | 
				
			||||||
            for (int i = 0; i < cart.length; i = i + 1) {
 | 
					 | 
				
			||||||
                cartNew[i] = cart[i];
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Setze neuen Artikel ans Ende der Liste
 | 
					 | 
				
			||||||
            cartNew[cartNew.length - 1] = article;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Übernehme neue Liste
 | 
					 | 
				
			||||||
            cart = cartNew;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Öffentliche Methode, die eine Rechnung auf der
 | 
					 | 
				
			||||||
        // Konsole druckt
 | 
					 | 
				
			||||||
        public void showBill() {
 | 
					 | 
				
			||||||
            // Gesamtpreis
 | 
					 | 
				
			||||||
            float sum = 0.0f;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Jeden Artikel durchgehen
 | 
					 | 
				
			||||||
            for (int i = 0; i < cart.length; i = i + 1) {
 | 
					 | 
				
			||||||
                Article article = cart[i];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Gebe Namen und Preis aus
 | 
					 | 
				
			||||||
                System.out.println(article + "\t " + article.getPrice() + " Euro");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Addiere zu Gesamtpreis
 | 
					 | 
				
			||||||
                sum = sum + article.getPrice();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            System.out.println("------------------------------------");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gebe Gesamtpreis aus
 | 
					 | 
				
			||||||
            System.out.println("Gesamtpreis: " + str(sum) + " Euro");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Startpunkt des Hauptprogramms
 | 
					 | 
				
			||||||
// Hier werden die implementierten Klassen zu Demonstrations- und
 | 
					 | 
				
			||||||
// Testzwecken instanziiert und verwendet.
 | 
					 | 
				
			||||||
    public void setup() {
 | 
					 | 
				
			||||||
        Book book = new Book(
 | 
					 | 
				
			||||||
                122767676,
 | 
					 | 
				
			||||||
                32.71f,
 | 
					 | 
				
			||||||
                "Luigi Lo Iacono",
 | 
					 | 
				
			||||||
                "WebSockets",
 | 
					 | 
				
			||||||
                2015
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        DVD dvd1 = new DVD(
 | 
					 | 
				
			||||||
                122767676,
 | 
					 | 
				
			||||||
                14.95f,
 | 
					 | 
				
			||||||
                "Spiel mir das Lied vom Tod",
 | 
					 | 
				
			||||||
                "99:12",
 | 
					 | 
				
			||||||
                1
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
        DVD dvd2 = new DVD(
 | 
					 | 
				
			||||||
                122767676,
 | 
					 | 
				
			||||||
                8.40f,
 | 
					 | 
				
			||||||
                "Casablanca, Classic Collection",
 | 
					 | 
				
			||||||
                "99:12",
 | 
					 | 
				
			||||||
                1
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        ShoppingCart wk = new ShoppingCart();
 | 
					 | 
				
			||||||
        wk.addToCart(book);
 | 
					 | 
				
			||||||
        wk.addToCart(dvd1);
 | 
					 | 
				
			||||||
        wk.addToCart(dvd2);
 | 
					 | 
				
			||||||
        wk.showBill();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,325 +0,0 @@
 | 
				
			|||||||
package com.company.lösungen;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class websiteGen {
 | 
					 | 
				
			||||||
    // Konstanten, mit denen wir die Wetterlage beschreiben
 | 
					 | 
				
			||||||
    static final int SONNE = 0,
 | 
					 | 
				
			||||||
            BEWOELKT = 1,
 | 
					 | 
				
			||||||
            REGEN = 2;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Abstrakte Klasse zur Repräsentation einer Stadt.
 | 
					 | 
				
			||||||
// Von dieser Klasse kann keine Instanz (= Objekt) erzeugt werden.
 | 
					 | 
				
			||||||
    public abstract class Stadt {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private String name;
 | 
					 | 
				
			||||||
        private int wetter;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Konstruktor, der zur Angabe eines Städtenamens und des
 | 
					 | 
				
			||||||
        // Wetters auffordert
 | 
					 | 
				
			||||||
        public Stadt(String name, int wetter) {
 | 
					 | 
				
			||||||
            this.name = name;
 | 
					 | 
				
			||||||
            this.wetter = wetter;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe des Städtenamens
 | 
					 | 
				
			||||||
        public String getName() {
 | 
					 | 
				
			||||||
            return this.name;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe des Wetters als String
 | 
					 | 
				
			||||||
        public String getWetter() {
 | 
					 | 
				
			||||||
            if (this.wetter == REGEN) {
 | 
					 | 
				
			||||||
                return "regnerisch";
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else if (this.wetter == BEWOELKT) {
 | 
					 | 
				
			||||||
                return "bewölkt";
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            else if (this.wetter == SONNE) {
 | 
					 | 
				
			||||||
                return "sonnig";
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Unbekannter Wert
 | 
					 | 
				
			||||||
            return "Unbekannt";
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe des Webseiten-Inhalts
 | 
					 | 
				
			||||||
        // für den Webseiten-Generator.
 | 
					 | 
				
			||||||
        public String getContent() {
 | 
					 | 
				
			||||||
            return "<p>In " + this.getName() + " ist es " + this.getWetter() +
 | 
					 | 
				
			||||||
                    ".</p>";
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe der URL zur Wetterseite
 | 
					 | 
				
			||||||
        public String getURL() {
 | 
					 | 
				
			||||||
            // Wandle Namen in Kleinbuchstaben um
 | 
					 | 
				
			||||||
            String name = this
 | 
					 | 
				
			||||||
                    .getName()
 | 
					 | 
				
			||||||
                    .toLowerCase();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Wandle Leerzeichen im Namen in Bindestriche um
 | 
					 | 
				
			||||||
            name = name.replace(" ", "-");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Wandle Umlaute um
 | 
					 | 
				
			||||||
            name = name.replace("ä", "ae");
 | 
					 | 
				
			||||||
            name = name.replace("ü", "ue");
 | 
					 | 
				
			||||||
            name = name.replace("ö", "oe");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gebe umgewandelte URL zurück
 | 
					 | 
				
			||||||
            return name + ".html";
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse für die Großstadt leitet
 | 
					 | 
				
			||||||
// von der Klasse Stadt ab.
 | 
					 | 
				
			||||||
    public class Grossstadt extends Stadt {
 | 
					 | 
				
			||||||
        private String[] stadtteile;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Konstruktor erwartet ebenfalls einen Städtenamen und das
 | 
					 | 
				
			||||||
        // Wetter, aber zusätzlich noch Stadtteile
 | 
					 | 
				
			||||||
        public Grossstadt(String name, int wetter, String[] stadtteile) {
 | 
					 | 
				
			||||||
            // Städtename und Wetter werden an die Basisklasse
 | 
					 | 
				
			||||||
            // übergeben
 | 
					 | 
				
			||||||
            super(name, wetter);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Stadtteile werden noch gesetzt
 | 
					 | 
				
			||||||
            this.stadtteile = stadtteile;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe des Webseiten-Inhalts
 | 
					 | 
				
			||||||
        // für den Webseiten-Generator
 | 
					 | 
				
			||||||
        public String getContent() {
 | 
					 | 
				
			||||||
            // Hier speichern wir unsere Webseite als HTML-Code.
 | 
					 | 
				
			||||||
            // Wir übernehmen zunächst den Code von der Überklasse.
 | 
					 | 
				
			||||||
            String output = super.getContent();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            String stadtteile = "";
 | 
					 | 
				
			||||||
            // Gehe die Stadtteile durch
 | 
					 | 
				
			||||||
            for (int i = 0; i < this.stadtteile.length; i = i + 1) {
 | 
					 | 
				
			||||||
                if (i == (this.stadtteile.length - 1)) {
 | 
					 | 
				
			||||||
                    // Wir sind beim letzten Eintrag:
 | 
					 | 
				
			||||||
                    // Füge "und" vor dem Stadtteilnamen hinzu
 | 
					 | 
				
			||||||
                    stadtteile = stadtteile + " und ";
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Füge Namen des Stadtteils hinzu
 | 
					 | 
				
			||||||
                stadtteile = stadtteile + this.stadtteile[i];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Wenn wir noch nicht am Ende sind
 | 
					 | 
				
			||||||
                if (i < (this.stadtteile.length - 2)) {
 | 
					 | 
				
			||||||
                    // Füge Komma und Leerzeichen hinzu
 | 
					 | 
				
			||||||
                    stadtteile = stadtteile + ", ";
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Füge den Hinweis zu den Stadtteilen hinzu
 | 
					 | 
				
			||||||
            output = output + "<p>Dies trifft auch für die Stadtteile " +
 | 
					 | 
				
			||||||
                    stadtteile + " zu.</p>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gebe generierten HTML-Code zurück
 | 
					 | 
				
			||||||
            return output;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe der URL zur Wetterseite
 | 
					 | 
				
			||||||
        public String getURL() {
 | 
					 | 
				
			||||||
            // Generiere URL und gebe sie zurück.
 | 
					 | 
				
			||||||
            // Rufe dabei die URL-Generierungsmethode aus der
 | 
					 | 
				
			||||||
            // Oberklasse auf.
 | 
					 | 
				
			||||||
            return "wetter_grossstadt_" + super.getURL();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse für die Großstadt leitet
 | 
					 | 
				
			||||||
// von der Klasse Stadt ab.
 | 
					 | 
				
			||||||
    public class Kleinstadt extends Stadt {
 | 
					 | 
				
			||||||
        // Konstruktor erwartet ebenfalls einen Städtenamen und das
 | 
					 | 
				
			||||||
        // Wetter
 | 
					 | 
				
			||||||
        public Kleinstadt(String name, int wetter) {
 | 
					 | 
				
			||||||
            // Städtename und Wetter werden an die Basisklasse
 | 
					 | 
				
			||||||
            // übergeben
 | 
					 | 
				
			||||||
            super(name, wetter);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe des Webseiten-Inhalts
 | 
					 | 
				
			||||||
        // für den Webseiten-Generator
 | 
					 | 
				
			||||||
        public String getContent() {
 | 
					 | 
				
			||||||
            return super.getContent();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Getter-Methode zur Rückgabe der URL zur Wetterseite
 | 
					 | 
				
			||||||
        public String getURL() {
 | 
					 | 
				
			||||||
            // Generiere URL und gebe sie zurück.
 | 
					 | 
				
			||||||
            // Rufe dabei die URL-Generierungsmethode aus der
 | 
					 | 
				
			||||||
            // Oberklasse auf.
 | 
					 | 
				
			||||||
            return "wetter_kleinstadt_" + super.getURL();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Öffentliche Klasse für den Webseitengenerator
 | 
					 | 
				
			||||||
    public class WebseitenGenerator {
 | 
					 | 
				
			||||||
        // Deklaration privater Variablen
 | 
					 | 
				
			||||||
        private Stadt[] staedte;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Anzahl der Einträge im Array
 | 
					 | 
				
			||||||
        private int numEntries = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public WebseitenGenerator() {
 | 
					 | 
				
			||||||
            this.staedte = new Stadt[0];
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zum Hinzufügen einer Stadt
 | 
					 | 
				
			||||||
        public void addStadt(Stadt stadt) {
 | 
					 | 
				
			||||||
            // Erzeuge temporären Array mit einem Eintrag mehr
 | 
					 | 
				
			||||||
            Stadt[] staedteTemp = new Stadt[numEntries + 1];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Kopiere die alten Werte in den neuen Array
 | 
					 | 
				
			||||||
            for (int i = 0; i < numEntries; i = i + 1) {
 | 
					 | 
				
			||||||
                staedteTemp[i] = this.staedte[i];
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Füge den neuen Eintrag an der letzten Position hinzu
 | 
					 | 
				
			||||||
            staedteTemp[numEntries] = stadt;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Setze die neue Liste
 | 
					 | 
				
			||||||
            staedte = staedteTemp;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Erhöhe die Anzahl der Einträge um eins
 | 
					 | 
				
			||||||
            numEntries = numEntries + 1;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zum Erstellen und Ausgeben der Navigationsleiste
 | 
					 | 
				
			||||||
        // unserer Wetterwebseite
 | 
					 | 
				
			||||||
        public String getNavigation() {
 | 
					 | 
				
			||||||
            // Hier speichern wir unsere Navigationsleiste als HTML-Code.
 | 
					 | 
				
			||||||
            // Wir beginnen mit dem Paragrafen-HTML-Tag
 | 
					 | 
				
			||||||
            String output = "<h1>Die Wetter-Webseite</h1><p>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gehe alle Städte durch
 | 
					 | 
				
			||||||
            for (int i = 0; i < this.staedte.length; i = i + 1) {
 | 
					 | 
				
			||||||
                // Hole die URL zur Datei
 | 
					 | 
				
			||||||
                String url = this
 | 
					 | 
				
			||||||
                        .staedte[i]
 | 
					 | 
				
			||||||
                        .getURL();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Hole den Städtenamen
 | 
					 | 
				
			||||||
                String name = this
 | 
					 | 
				
			||||||
                        .staedte[i]
 | 
					 | 
				
			||||||
                        .getName();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Füge HTML-Link zur Ausgabe hinzu
 | 
					 | 
				
			||||||
                output = output + "<a href='" + url + "'>" + name + "</a>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Füge Trenner hinzu, wenn wir noch nicht am Ende der
 | 
					 | 
				
			||||||
                // Liste sind
 | 
					 | 
				
			||||||
                if (i < this.staedte.length - 1) {
 | 
					 | 
				
			||||||
                    output = output + " | ";
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Schließe den Paragrafen-Tag
 | 
					 | 
				
			||||||
            output = output + "</p>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gebe generierte Navigationsleiste zurück
 | 
					 | 
				
			||||||
            return output;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zum Erstellen und Ausgeben der HTML-Seite
 | 
					 | 
				
			||||||
        // für eine bestimmte Stadt
 | 
					 | 
				
			||||||
        public String generatePage(int index) {
 | 
					 | 
				
			||||||
            // Hole die Stadt aus dem Array
 | 
					 | 
				
			||||||
            Stadt stadt = this.staedte[index];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Hier speichern wir unsere Webseite als HTML-Code
 | 
					 | 
				
			||||||
            // Setze HTML-Kopf
 | 
					 | 
				
			||||||
            String output = "<html><body>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Füge Navigationsleiste hinzu
 | 
					 | 
				
			||||||
            output = output + this.getNavigation();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Füge Überschrift hinzu
 | 
					 | 
				
			||||||
            output = output + "<h2>Das Wetter für " + stadt.getName() + "</h2>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            output = output + stadt.getContent();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Füge HTML-Fußzeile hinzu
 | 
					 | 
				
			||||||
            output = output + "</body></html>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gebe HTML-Code zurück
 | 
					 | 
				
			||||||
            return output;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Methode zum Erstellen und Ausgeben der Wetterwebseite
 | 
					 | 
				
			||||||
        // mit allen Webseiten
 | 
					 | 
				
			||||||
        public void generateWebsites() {
 | 
					 | 
				
			||||||
            // Generiere Index-Dokument
 | 
					 | 
				
			||||||
            // Öffne Datei für die Hauptseite
 | 
					 | 
				
			||||||
            PrintWriter output = createWriter("index.html");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Generiere HTML-Code für Datei, in der Hauptseite nehmen
 | 
					 | 
				
			||||||
            // wir nur die Navigationsleiste
 | 
					 | 
				
			||||||
            String htmlCode = this.getNavigation();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Speichere HTML-Code in Datei
 | 
					 | 
				
			||||||
            output.print(htmlCode);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Schließe Datei
 | 
					 | 
				
			||||||
            output.close();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Gehe alle Städte durch
 | 
					 | 
				
			||||||
            for (int i = 0; i < this.staedte.length; i = i + 1) {
 | 
					 | 
				
			||||||
                // Öffne Datei mit URL-Dateinamen
 | 
					 | 
				
			||||||
                output = createWriter(this.staedte[i].getURL());
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Generiere HTML-Code für Datei
 | 
					 | 
				
			||||||
                htmlCode = this.generatePage(i);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Speichere HTML-Code in Datei
 | 
					 | 
				
			||||||
                output.print(htmlCode);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Schließe Datei
 | 
					 | 
				
			||||||
                output.close();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            System.out.println("Webseiten generiert");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Startpunkt des Hauptprogramms
 | 
					 | 
				
			||||||
// Hier werden die implementierten Klassen zu Demonstrations- und
 | 
					 | 
				
			||||||
// Testzwecken instanziiert und verwendet.
 | 
					 | 
				
			||||||
    public void setup() {
 | 
					 | 
				
			||||||
        // Definiere Köln
 | 
					 | 
				
			||||||
        String[] stadtteileKoeln = {
 | 
					 | 
				
			||||||
                "Ehrenfeld",
 | 
					 | 
				
			||||||
                "Raderthal",
 | 
					 | 
				
			||||||
                "Nippes",
 | 
					 | 
				
			||||||
                "Poll",
 | 
					 | 
				
			||||||
                "Esch",
 | 
					 | 
				
			||||||
                "Pesch",
 | 
					 | 
				
			||||||
                "Kalk"
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        Grossstadt koeln = new Grossstadt("Köln", SONNE, stadtteileKoeln);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Definiere Daaden
 | 
					 | 
				
			||||||
        Kleinstadt daaden = new Kleinstadt("Daaden", BEWOELKT);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Definiere Bonn
 | 
					 | 
				
			||||||
        String[] stadtteileBonn = {
 | 
					 | 
				
			||||||
                "Poppelsdorf",
 | 
					 | 
				
			||||||
                "Südstadt",
 | 
					 | 
				
			||||||
                "Beuel",
 | 
					 | 
				
			||||||
                "Duisdorf",
 | 
					 | 
				
			||||||
                "Graurheindorf"
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        Grossstadt bonn = new Grossstadt("Bonn", REGEN, stadtteileBonn);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Initialisiere den Webseitengenerator
 | 
					 | 
				
			||||||
        WebseitenGenerator generator = new WebseitenGenerator();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Füge die Städte hinzu
 | 
					 | 
				
			||||||
        generator.addStadt(koeln);
 | 
					 | 
				
			||||||
        generator.addStadt(daaden);
 | 
					 | 
				
			||||||
        generator.addStadt(bonn);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Generiere die Webseiten
 | 
					 | 
				
			||||||
        generator.generateWebsites();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										34
									
								
								src/com/company/mathe/pfFormel.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/com/company/mathe/pfFormel.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					package com.company.mathe;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Scanner;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class pfFormel {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
 | 
					        pqFormelRechner rechner = new pqFormelRechner();
 | 
				
			||||||
 | 
					        Scanner scanner = new Scanner(System.in);
 | 
				
			||||||
 | 
					        boolean bisStop = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        while (bisStop == false) {
 | 
				
			||||||
 | 
					            try {
 | 
				
			||||||
 | 
					                System.out.println("Bitte geben sie die Werte für P und Q ein: ");
 | 
				
			||||||
 | 
					                System.out.println("P: ");
 | 
				
			||||||
 | 
					                String Pwert = scanner.nextLine().replace("-", "");
 | 
				
			||||||
 | 
					                if (Pwert.equals("x")) {
 | 
				
			||||||
 | 
					                    bisStop = true;
 | 
				
			||||||
 | 
					                    return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                System.out.println("Q: ");
 | 
				
			||||||
 | 
					                String Qwert = scanner.nextLine().replace("-", "");
 | 
				
			||||||
 | 
					                System.out.println(rechner.berechnePQFormel(Double.parseDouble(Pwert), Double.parseDouble(Qwert)));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            catch(Exception e) {
 | 
				
			||||||
 | 
					                System.out.println("Math Error");
 | 
				
			||||||
 | 
					                System.out.println("Versuchen sie erneut");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										21
									
								
								src/com/company/mathe/pqFormelRechner.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/com/company/mathe/pqFormelRechner.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					package com.company.mathe;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class pqFormelRechner {
 | 
				
			||||||
 | 
					    public static String berechnePQFormel(double P, double Q){
 | 
				
			||||||
 | 
					        double eingabe = (P/2) * (P/2) - Q;
 | 
				
			||||||
 | 
					        if (eingabe >= 0) {
 | 
				
			||||||
 | 
					            double x1,x2;
 | 
				
			||||||
 | 
					            x1 = -(P/2) + Math.sqrt(eingabe);
 | 
				
			||||||
 | 
					            x2 = -(P/2) - Math.sqrt(eingabe);
 | 
				
			||||||
 | 
					            if (x1==x2){
 | 
				
			||||||
 | 
					                return "Das Ergebnis ist L={"+x2+"}";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else {
 | 
				
			||||||
 | 
					                return "Die Ergebnisse sind L={"+x1+";"+x2+"}";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else {
 | 
				
			||||||
 | 
					            return "Keine Lösung, das Ergebniss ist "+eingabe;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user