Schnittstelle Theatre

Lass dir mal ausgeben
Java:
System.out.println((int)'a');

Wenn deine Reihen von a bis e laufen kriegst du den Index für dein boolean-Array dann entsprechend durch:
Java:
System.out.println((int)'a' - 97);
System.out.println((int)'b' - 97);
....
System.out.println((int)'e' - 97);

Und umgekehrt wenn du weißt dass du 7 Reihen hast, aber ein char zurückgeben sollt:
Java:
System.out.println((char)(7 + 97));
 
So ich habe das nun weitestgehend hinbekommen was ich nun gerne mal fragen würde ich soll meine Ausgabe mit einer toString Methode ausgeben wie sieht das dann aus.

Und noch eine doofe Frage wie kann ich nun meine Funktionen Reserve und Cancel in meiner Main aufrufen.

Code:
	static boolean theatre[][] = { 
			{false,false,false,false,false,false,false,false},
			{false,false,false,false,false,false,false,false},
			{false,false,false,false,false,false,false,false},
			{false,false,false,false,false,false,false,false},
			{false,false,false,false,false,false,false,false}
			};
	
	@Override
	public boolean cancel(char row, int seatFrom, int seatTo) {	
		if ('a' <= row && row <= getMaxRow() &&  0 < seatFrom && seatFrom <= getMaxSeat() 
					&& 0 < seatTo && seatTo <= getMaxSeat() &&  seatFrom <= seatTo){
			
			boolean [] rowB = theatre [(row-97)];
			for (int i = seatFrom - 1; i<seatTo; i++){
				rowB [i] = false;
			}
			return true;
		}
	return false;
	}

	@Override
	public char getMaxRow() {
		char reihen = (char) (theatre.length + 97);
		return reihen;
	}

	@Override
	public int getMaxSeat() {
		int sitz = theatre[0].length;
		return sitz;
		
	}

	@Override
	public boolean reserve(char row, int seatFrom, int seatTo) {
		if('a' <= row && row <= getMaxRow() &&  0 < seatFrom && seatFrom <= getMaxSeat() 
				&& 0 < seatTo && seatTo <= getMaxSeat() &&  seatFrom <= seatTo){
			
			boolean [] rowB = theatre [(row-97)];
			for (int i = seatFrom - 1; i<seatTo; i++){
				rowB [i] = true;
			}
			return true;
		}
		return false;
	}
	
	
	public static void main(String[] args)
	{
	
	System.out.println("1 2 3 4 5 6 7 8");
	for (boolean[] bs : theatre) {
        for (boolean b : bs) {
            if (b)
                System.out.print("x ");
            else
                System.out.print("- ");
        }
        System.out.println();
		}
	}
}
 
meine operationen habe ich jetzt hat wirklich keiner ne Ahnung wie meine Ausgabe mit einer toString-Methode aussehen würde ?

wäre echt super wenn mir wer helfen könnte
 
Du hast doch in deiner main schon eine Art toString methode. Schreib dass doch einfach in eine toString rein.

Statt das ganze mit System.out auszugeben, hängst es halt an einen String ran.

Aufrufen kannst du das ganze über eine Instanz deiner Klasse:
Java:
Theatre theatre = new Threatre();
theatre.reserve('a', 3, 5);
 
Alles klar scheint zu funktionieren vielen vielen dank :)

Allerdings eins noch meine Funktionen sehen etwas anders, da ich nicht wusste ob ich ein char so einfach angeben kann hab ich es so gemacht:

t.reserve((char)(row = 1+97), 2, 4);

aber das klappt so auch und ich hatte noch Übung im Casten ;)

aber danke nochmal
 
Zurück