# Ticketing Hausaufgabe



## Othala (21. Nov 2016)

Hallo,
ich hänge momentan an meiner aktuellen Hausaufgabe, die Aufgabenstellung ist, ein Programm zu entwickeln, bei dem der Benutzer die Menge von erhältlichen Tickets definieren und gültige Ticket-Nummern speichern kann.
Das Programm soll dies ausführen können:
(1) der Benutzer definiert die Anzahl der Tickets
(2) das Programm überprüft ob die eingegebene Ticket-Nummer gültig ist, wobei die Ticket-Nummern in Registrierungs-Schritt folgendes Format haben müssen: <digit><digit>-<digit><digit><digit> (z.B. 12-345) und im Ticket-Überprüfungs-Schritt folgendes Format: <digit><digit><digit><digit><digit> (z.B. 12345). Zudem darf die erste Zahl bei beiden nicht 0 sein
(3) eine gültige Nummer wird nur gespeichert, wenn sie noch nicht registriert ist
(4) Ticket-Nummern müssen als Integer Werte gespeichert werden
Außerdem soll Input.readString() beim Registrieren der Tickets verwendet werden und Input.readInt() beim Überprüfen.

ich habe bereits einen Teil geschrieben, weiß aber nicht, wie ich das Format beim Registrieren und Überprüfen hinbekomme.


----------



## Nuiton (21. Nov 2016)

Und was genau weisst du nicht?


----------



## Othala (21. Nov 2016)

ich weiß nicht, wie ich das Format beim Registrieren und Überprüfen schreibe und wie ich sichergehe, dass eine Ticket-Nummer gespeichert wurde


----------



## Nuiton (21. Nov 2016)

Tipp: Am besten benutzt du regulaere Ausdruecke, bzw. RegEx, um deine Ticketnummer zu ueberpruefen.
Beispiel:

```
String regexTicket = "[1-9][0-9]*-[0-9][0-9][0-9]"; // matches 12-345
```
Du liest dein String ein, sagen wir mal, es heisst

```
String ticketNumber
```
Dann ueberpruefst du, ob dein RegEx auch stimmt

```
boolean match = ticketNumber.matches(regexTicket);
```
Eventuell folgen deine if-else Statements..

Falls die Ticketnummer mit dem RegEx uebereinstimmt, speicherst du es irgendwo ab.. also den "rohen" Stringwert, denn du z.B. als Integer parsen kannst, und es in eine ArrayList mit Typ Integer speicherst.

Achja: Deine while-Schleife sollst du auch abbrechen. Also am ende deiner Schleife:

```
amountTickets--;
```
 oder du machst daraus ein do-while Statement.


----------



## Othala (21. Nov 2016)

alles klar, danke


----------

