Lösungsvorschlag: Datentypen

Erstellen sie einen eigenen Datentypen mit dem Namen Person. Für diese Person sollen folgende Eigenschaften gespeichert werden können.

Aufgabe 1: Datentypen bestimmen

Bestimmen Sie den jeweiligen Datentyp für die oben aufgeführten Eigenschaften (auch Attribute genannt).

EigenschaftAttribut Datentyp
NamenameString
VornamevornameString
TelefonnummertelefonnummerString
StrassestrasseString
Hausnummerhausnummerint
LandlandString
Postleitzahlplzint
OrtortString

Die Telefonnummer wird als String gespeichert, weil bei Zahlenwerten (long, int, short, byte) keine führenden Nullen angegeben werden können. Aus der Telefonnummer „0041796412525“ würde einfach 41796412525 werden, im String bleiben diese Nullen jedoch erhalten.

Aufgabe 2: Datentyp erstellen

Person.java
/**
 * Datentyp Person
 *
 * @author Kevin Maurizi
 */
public class Person {
    String name;
    String vorname;
    String telefonnummer;
    String strasse;
    int hausnummer;
    String land;
    int plz;
    String ort;
}

Aufgabe 3: Eigenen Datentyp verwenden

Verwenden Sie die Vorlage und erstellen Sie einen Userdialog. Fragen Sie den User nach sämtlichen Angaben um eine Person zu erstellen und erstellen Sie ein Personen-Objekt. Geben Sie im Anschluss alle Informationen wieder aus.

PersonenVerwaltung.java
import java.util.Scanner;
 
/**
 * short description of this program
 *
 * @author Kevin Maurizi
 */
public class PersonenVerwaltung {
    // declare attributes
    static Scanner scanner;
 
    /**
     * constructor: initialize attributes
     */
    public PersonenVerwaltung() {
        scanner = new Scanner(System.in);
    }
 
    /**
     * starts the execution
     *
     * @param args
     *            command line arguments
     */
    public static void main(String[] args) {
        PersonenVerwaltung program = new PersonenVerwaltung();
        program.run();
 
        scanner.close();
    }
 
    /**
     * description
     */
    private void run() {
 
        // TODO:
        // 0. Person erstellen
        Person person = new Person();
        // 1. User nach jedem Attribut einer Person fragen und diese im Objekt person speichern.
        System.out.print("Vorname > ");
        person.vorname = scanner.nextLine();
 
        System.out.print("Nachname > ");
        person.name = scanner.nextLine();
 
        System.out.print("Strasse > ");
        person.strasse = scanner.nextLine();
 
        System.out.print("Hausnummer > ");
        person.hausnummer = scanner.nextInt();
        scanner.nextLine(); // Scanner leeren
 
        System.out.print("Postleitzahl > ");
        person.plz = scanner.nextInt();
        scanner.nextLine(); // Scanner leeren
 
        System.out.print("Ort > ");
        person.ort = scanner.nextLine();
 
        System.out.print("Land > ");
        person.land = scanner.nextLine();
 
        System.out.print("Telefonnummer > ");
        person.telefonnummer = scanner.nextLine();
 
        // 2. Alle Informationen auf dem Bildschirm ausgeben.
 
        System.out.println("Die Person hat folgende Eigenschaften:");
        System.out.println("Vorname :" + person.vorname);
        System.out.println("Nachname :" + person.name);
        System.out.println("etc...");
    }
}

Aufgabe 4: Informationen verschachteln

Adresse.java
/**
 * Datentyp Adresse
 *
 * @author Kevin Maurizi
 */
public class Adresse {
    String strasse;
    String land;
    String ort;
    int hausnummer;
    int plz;
}
Person.java
/**
 * Datentyp Person
 *
 * @author Kevin Maurizi
 */
public class Person {
    String name;
    String vorname;
    String telefonnummer;
    Adresse adresse = new Adresse();
}
Personenverwaltung.java
import java.util.Scanner;
 
/**
 * short description of this program
 *
 * @author Kevin Maurizi
 */
public class PersonenVerwaltung {
    // declare attributes
    static Scanner scanner;
 
    /**
     * constructor: initialize attributes
     */
    public PersonenVerwaltung() {
        scanner = new Scanner(System.in);
    }
 
    /**
     * starts the execution
     *
     * @param args
     *            command line arguments
     */
    public static void main(String[] args) {
        PersonenVerwaltung program = new PersonenVerwaltung();
        program.run();
 
        scanner.close();
    }
 
    /**
     * description
     */
    private void run() {
 
        // TODO:
        // 0. Person erstellen
        Person person = new Person();
        // 1. User nach jedem Attribut einer Person fragen und diese im Objekt person speichern.
        System.out.print("Vorname > ");
        person.vorname = scanner.nextLine();
 
        System.out.print("Nachname > ");
        person.name = scanner.nextLine();
 
        System.out.print("Strasse > ");
        person.adresse.strasse = scanner.nextLine();
 
        System.out.print("Hausnummer > ");
        person.adresse.hausnummer = scanner.nextInt();
        scanner.nextLine(); // Scanner leeren
 
        System.out.print("Postleitzahl > ");
        person.adresse.plz = scanner.nextInt();
        scanner.nextLine(); // Scanner leeren
 
        System.out.print("Ort > ");
        person.adresse.ort = scanner.nextLine();
 
        System.out.print("Land > ");
        person.adresse.land = scanner.nextLine();
 
        System.out.print("Telefonnummer > ");
        person.telefonnummer = scanner.nextLine();
 
        // 2. Alle Informationen auf dem Bildschirm ausgeben.
 
        System.out.println("Die Person hat folgende Eigenschaften:");
        System.out.println("Vorname :" + person.vorname);
        System.out.println("Nachname :" + person.name);
        System.out.println("Strasse :" + person.adresse.strasse);
        System.out.println("etc...");
    }
}

© Kevin Maurizi