First commit

This commit is contained in:
Frank Schiebel 2025-12-06 15:10:11 +01:00
commit 692cecbca7
7 changed files with 256 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.class
*.ctxt

59
Dateileser.java Normal file
View file

@ -0,0 +1,59 @@
import java.util.ArrayList;
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
/**
* Liest eine Textdatei mit Spiekarten eines Tierquartetts ein
*
* @author Frank schiebel
* @version 0.1
*/
public class Dateileser
{
public Dateileser()
{
}
public ArrayList<Karte> getKartenListe(String eingabeDatei) {
ArrayList<Karte> karten;
try {
Scanner s = new Scanner(new File(eingabeDatei));
ArrayList<String> zeilen = new ArrayList<>();
while (s.hasNext()){
zeilen.add(s.nextLine());
}
s.close();
karten = new ArrayList<>();
for(String z: zeilen) {
String[] felder = z.split(",");
if(felder[0].charAt(0) != '#' ) {
System.out.println(felder.length);
Karte k = new Karte(
felder[0].trim(),
Integer.parseInt(felder[1].trim()),
Integer.parseInt(felder[2].trim()),
Integer.parseInt(felder[3].trim()),
Integer.parseInt(felder[4].trim()),
Double.parseDouble(felder[5].trim()),
Integer.parseInt(felder[6].trim())
);
karten.add(k);
}
}
} catch(IOException e) {
System.out.println(eingabeDatei + " kann nicht geöffnet werden.");
karten = new ArrayList<>();
}
return karten;
}
}

110
Karte.java Normal file
View file

@ -0,0 +1,110 @@
/**
* Spielkarte eines Tierquartetts
*
* @author Frank Schiebel
* @version 0.1
*/
public class Karte
{
private String tierart;
private int verbreitung,
geschwindigkeit,
alter,
gewicht;
private double nachkommen;
private int spieler;
/**
* Konstruktor für Objekte der Klasse Karte
*/
public Karte(
String tierart,
int verbreitung,
int geschwindigkeit,
int alter,
int gewicht,
double nachkommen,
int spieler
) {
this.tierart = tierart;
this.verbreitung = verbreitung;
this.geschwindigkeit = geschwindigkeit;
this.alter = alter;
this.gewicht = gewicht;
this.nachkommen = nachkommen;
this.spieler = spieler;
}
/**
* Liefere die Tierart der Quartettkarte
* @return Name der Tierart
*/
public String getTierart() {
return this.tierart;
}
/**
* Liefere die Anzahl der Kontinente/Ozeane, auf denen
* das Tier zu finden ist.
* @return Verbreitung: Anzahl der Kontinente/Ozeane
*/
public int getVerbreitung() {
return this.verbreitung;
}
/**
* Liefere die Höchstgeschwindigkeit des Tiers
* @return Höchstgeschwindigkeit des Tiers in km/h
*/
public int getGeschwindigkeit() {
return this.geschwindigkeit;
}
/**
* Liefere das Höchstalter des Tiers
* @return Höchstalter des Tiers in Jahren
*/
public int getAlter() {
return this.alter;
}
/**
* Liefere das Gewicht des Tiers
* @return Gewicht des Tiers in kg
*/
public int getGewicht() {
return this.gewicht;
}
/**
* Liefere die Zahl der jährlichen Nachkommen des Tiers
* @return Jähriche Nachkommen des Tiers
*/
public double getNachkommen() {
return this.nachkommen;
}
/**
* Liefere die Nummer des Spielers, der die Karte hält
* @return Spielernumnmer des Kartenbesitzers
*/
public double getSpieler() {
return this.spieler;
}
/**
* Liefere die Zahl der jährlichen Nachkommen des Tiers
* @return Jähriche Nachkommen des Tiers
*/
public String getKartenDetails() {
return tierart +
", Verbreitung=" + verbreitung +
", Geschwindigkeit=" + geschwindigkeit +
", Höchstalter=" + alter +
", Gewicht=" + gewicht +
", Nachkommen=" + nachkommen +
", Spielernummer=" + spieler;
}
}

4
README.TXT Normal file
View file

@ -0,0 +1,4 @@
PROJEKTBEZEICHNUNG: tierquartett
PROJEKTZWECK: Einführung von funktionaler Verarbeitung von Sammlungen
VERSION oder DATUM: 0.1
AUTOR(EN): Frank Schiebel

50
Tierqartett.java Normal file
View file

@ -0,0 +1,50 @@
import java.util.ArrayList;
/**
* Tierquartett
*
* @author Frank Schiebel
* @version 0.1
*/
public class Tierqartett
{
ArrayList<Karte> quartett;
public Tierqartett()
{
// Initialisiere das Quartett aus der spielkarten.txt Datei
Dateileser leser = new Dateileser();
quartett = leser.getKartenListe("spielkarten.txt");
}
/**
* Gib die Details aller Karten aus.
*/
public void listeAusgeben()
{
// FIXME
}
/**
* Gib die Details aller Karten des Spielers mit den Nummer snum aus
* @param snum die Spielernummer
*/
public void listeSpielerkarten(int snum)
{
// FIXME
}
/**
* Gib eine Liste der Tierarten aus, älter als ein bestimmtes "Schwellallter" werden
* @param alterssschwelle Alle Tiere die älter als dieses Alter werden, werden ausgegeben
*/
public void tiereAelterAls(int alterssschwelle)
{
//FIXME
}
}

3
package.bluej Normal file
View file

@ -0,0 +1,3 @@
#BlueJ package file
#Sat Dec 06 13:36:43 CET 2025
project.charset=UTF-8

28
spielkarten.txt Normal file
View file

@ -0,0 +1,28 @@
# Name, Verbreitung(Kontinente/Ozeane), Höchstalter, Gewicht (kg), Nachkommen (pro Jahr), Spieler-Nummer
Großer Barracuda,3,50,30,40,50000,0
Flusspferd, 1,30,40,3200,1,0
Gorilla,1,35,40,275,2,3
Jaguar,2,80,12,150,4,2
Klapperschlange,2,20,20,9,25,2
Kojote,1,60,15,15,10,1
Leopard,2,60,15,80,4,2
Löwe,2,75,15,250,4,3
Mississippi-Alligator,1,30,75,500,50,0
Nashorn,2,50,40,1600,1,1
Netzpython,1,20,20,150,50,2
Nilkrokodil,1,35,50,750,50,3
Puma,2,65,25,100,4,1
Schabrackenschakal,1,60,8,15,6,0
Schwarzbär,1,45,30,150,4,3
Schwertwal,5,55,12,9000,0.25,2
Seewespe,2,9,1,6,100000,2
Sibirischer Tiger,1,60,20,300,4,0
Taipan,1,10,15,22,20,3
Weißer Hai,3,60,45,3500,10,3
Wolf,3,55,18,80,7,2
Afrikanischer Elefant,1,40,70,7000,0.5,1
Anakonda,1,22,20,200,80,1
Braunbär,3,55,20,780,3,0
Eisbär,2,40,20,700,4,3
Eurasischer Luchs,2,70,18,40,4,2
Fleckhyäne,1,60,20,65,2,1