A
Anonym
Gast
[schild=1]Hallo, hallo![/schild]
Muss eine Praktikumsaufgabe mit Partner lösen, der allerdings nie aufgetaucht ist. Deswegen hab ich ein halbfertiges Progi abzugeben, was nicht compiliert werden kann, weil die Hälfte fehlt...
Findet jemand Fehler?:
//PolyellVonStochastika.java
*Polyell von Stochastika
*Jeder Reiter meldet sich zu Turnierbeginn mit der Angabe seiner *Aus-dem-Sattel-Stoß-Wahrscheinlichkeiten an.
*Die Turnierteilnehmer reiten dabei im Kreis. Der schwächste Reiter *(Nr. 1) beginnt und versucht, seinen Vordermann (Nr. 2) aus dem *Sattel zu stoßen. Danach ist Nr. 2 an der Reihe, sofern er noch im *Sattel sitzt — sonst dessen Vordermann Nr. 3, usw. Der Vordermann *des letzten Reiters ist wieder Nr. 1.
*Das Turnier ist zu Ende, wenn nur noch ein Reiter im Sattel sitzt.
*/
import IO.InOut;
import java.util.*;
import java.io.*;
Muss eine Praktikumsaufgabe mit Partner lösen, der allerdings nie aufgetaucht ist. Deswegen hab ich ein halbfertiges Progi abzugeben, was nicht compiliert werden kann, weil die Hälfte fehlt...
Findet jemand Fehler?:
//PolyellVonStochastika.java
*Polyell von Stochastika
*Jeder Reiter meldet sich zu Turnierbeginn mit der Angabe seiner *Aus-dem-Sattel-Stoß-Wahrscheinlichkeiten an.
*Die Turnierteilnehmer reiten dabei im Kreis. Der schwächste Reiter *(Nr. 1) beginnt und versucht, seinen Vordermann (Nr. 2) aus dem *Sattel zu stoßen. Danach ist Nr. 2 an der Reihe, sofern er noch im *Sattel sitzt — sonst dessen Vordermann Nr. 3, usw. Der Vordermann *des letzten Reiters ist wieder Nr. 1.
*Das Turnier ist zu Ende, wenn nur noch ein Reiter im Sattel sitzt.
*/
import IO.InOut;
import java.util.*;
import java.io.*;
Code:
public class Reiter
{
float AdSSWSK;
int siege;
boolean sitztImSattel;
private void setAdSSWSK (float )
{
}
public float getAdSSWSK
{
return AdSSWSK;
}
private void addSiege ()
{
}
public getSiege
{
return siege;
}
}
public class Turnier
{
Reiter temp = null;
/** Eingabe der Teilnehmerliste*/
BufferedReader in = new BufferedReader(new InputstreamReader(System.in));
/** Teilenehmerliste erzeugen */
private LinkedList teilnehmerliste = new LinkedList();
/** Teilnehmer hinzufügen */
boolean e = true;
do
{
System.out.println("Geben Sie bitte die AdSSWSK ein:");
StingBuffer AdSSWSK = new StringBuffer();
AdSSWSK = in.readLine();
if (AdSSWSK == "")
e = false; // Abbruch bei leerer Eingabe
Float.parseFloat(AdSSWSK.toString().trim()));//der eingelesene String AdSSWSK muss in float umgewandelt werden
if (e == true) // Eingabe soll gleich sortiert erfolgen
{
if (teilnehmer.isEmpty) // wenn Liste leer ist, dann wird einfach eingefügt
{
teilnehmer.add(new Reiter(AdSSWSK));
}
else // nach Element suchen, das kleinere AdSSWSK hat
{
temp = (Reiter) teilnehmer.getFirst(); //temporärer Vergleichsreiter
do // Einfügen der Teilnehmer in geordneter Reihenfolge
{
if (temp.next() != null)
temp = temp.next(); // hochzählen des Index, solange, bis temprärer Vergleichsreiter eine geringer AdSSWSK hat oder Listenende erreicht ist
}while (temp.getAdSSWSK() < AdSSWSK)||(index of (temp) = (teilnehmer.length()-1));
if (temp.getAdSSWSK() < AdSSWSK) // um vor dem temp einzufügen
add (temp.indexOf();new Reiter(AdSSWSK));
else // um am Listenende einzufügen
teilnehmer.add (new Reiter(AdSSWSK));
}
}
}while (e == true);
/** Nach Anzahl der Turniere fragen */
try
{
System.out.println("Wieviel Turniere sollen durchgeführt werden?");
boolean r = false;
/** abfangen, dass negative Ganzzahl eingegeben wird */
while (r != true)
{
StringBuffer anz = new StringBuffer();
anz = in.readLine(); // muss noch in integer umgewandelt werden
Integer.parseInt(anz.toString().trim()));
if (anz < 0) System.out.println("Bitte nur natürliche Zahlen eingeben!");
else r = true;
}
}
catch (Exception e)
{
System.out.println("Bitte nur natürliche Zahlen eingeben!");
}
// VERSUCHE
/*
Die Angabe mit spieler[x].(...), war nur ein anfänglicher Versuch, den Wettkampf an sich durchzuführen ... ;O)
*/
private class Wettkampf
{
float a = spieler[i].AdSSWSK, b = spieler[j].AdSSWSK;
double c = 100 * Math.random( ); //Zufallszahl erzeugen
int sieger;
if (c < a) //Vergleich mit der AdSSWSK des schwächern Spielers
{
System.out.println("Spieler " + i + " hat hat Spieler " + spieler[j] + " aus dem Sattel gestoßen!");
sieger = i;
spieler[j].sitztImSattel = false;
}
else
{
System.out.println("Spieler " + i + " hat nicht getroffen!");
}
return sieger;
}
public static void main (String[] args)
{
}
/*
Ob der Reiter noch im Spiel ist, würde ich über einen boolean Wert sitztImSattel angeben
und dann bei jedem neuen Durchlauf danach fragen.
Wenn man am Ende der Liste ist, dann fängt man wieder beim ersten Teilnehmer der Liste an,
dessen boolean sitztImSattel noch true ist.
*/