Javakurs/Übungsaufgaben/Abzaehlspiel/Musterloesung
< Javakurs | Übungsaufgaben | Abzaehlspiel
Version vom 1. August 2010, 12:01 Uhr von Jörg F (Diskussion | Beiträge) (hat „Javakurs2007/Abzaehlspiel/Musterloesung“ nach „Javakurs/Übungsaufgaben/Abzaehlspiel/Musterloesung“ verschoben)
Abzählspiel - Musterlösung
package abzaehlspiel;
public class Abzaehlspiel
{
public static void main(String[] args)
{
int[] personen = new int[10000];// Array fuer die Personen
int i;// Zaehlvariable
// allen Personen eine Nummer zuweisen
for (i = 0; i < 10000; i++)
{
// den Personen eine Nummer geben
personen[i] = i + 1;
}
int stelle = 0;// Stelle der Person, welche man gerade betrachtet
int zaehler = 0;// Variable, mit der man bis zum 3. zaehlt
int letzter = -1;// Stelle, an der der Letzte ertfernt wurde
// die eigentliche Abzaehlung
do
{
// ueberpruefen ob die person noch da ist...
if (personen[stelle] != 0)
{
// ... wenn ja, dann weiterzaehlen
zaehler++;
// ueberpruefen ob man beim 3. angekommen ist...
if (zaehler == 3)
{
// ... diese Person etfernen (seine Numer auf Null setzen)
personen[stelle] = 0;
zaehler = 0;// wieder von vorne anfangen zu zaehlen
letzter = stelle;// merken, wo als letztes entfernt wurde
}// if
}// if
// zum naechsten gehen
stelle++;
// ueberpruefen ob man am Ende ist...
if (stelle == personen.length)
{
// ... dann am Anfang fortsetzen
stelle = 0;
}
// die Schleife so lange wiederholen, bis man an der Stelle
// angekommen ist, an der man als Letztes jemanden entfernt hat,
// dann ist man einmal duch alle Personen durchgelaufen
// und hat dabei keinen entfernt => Ende
} while (stelle != letzter);
System.out.println("Uebrig bleiben:");
// Alle Personen durchgehen...
for (i = 0; i < 10000; i++)
{
// ... und wenn eine Person noch da ist...
if (personen[i] != 0)
{
// ...ausgeben
System.out.println(personen[i]);
}
}// for
}// main
}// class