Dringend: Einbinden einer Methode in die Hauptmethode !!!

Status
Nicht offen für weitere Antworten.

FlotteBine

Mitglied
Hallo!
Ich hab letzte Woche schon mal angefragt, wegen des Einbinden einer Methode in die Hauptmethode....
Mittlerweile funktioniert mein Compiler nicht mehr, so dass ich es nicht mal mehr compilieren kann.
Deshalb zeige ich euch mal den gesamt Code.
Code:
public class Reiter2 {
	/** Variablen */
	private double adsswsk;
	private int nummer;
	public int anzSiege;

	/** Konstruktor der Klasse Reiter2
		@param nr (Startnummer), p (Aus-dem-Sattel-Stoß-Wahrscheinlichkeit */
	public Reiter2(int nr, double p) {
		adsswsk=p;
		nummer=nr;
		anzSiege=0;
	}
	/** Setzen der Aus-dem-Sattel-Stoß-Wahrscheinlichkeit
		@param p (Wahrscheinlichkeit) */
	void setWsk(double p) {
		adsswsk=p;
	}
	/** Get-Methode der Startnummer
		@return nummer */
	int getNummer() {
		return nummer;
	}
	/** Get-Methode der Aus-dem-Sattel-Stoß-Wahrscheinlichkeit
		@return adsswsk */
	double getWsk() {
		return adsswsk;
	}
	/** Stoß
		@return ob Zufallszahl kleiner als "Aus-dem-Sattel-Stoß-Wahrscheinlichkeit" */
	boolean stossen() {
		return Math.random()<adsswsk;
	}
}

import java.util.*;
public class turnier2 {

	Reiter2 r1 = null, r2 = null;
	private LinkedList teilnehmerliste;

	public turnier2 (LinkedList t) {
		teilnehmerliste =(LinkedList)(t.clone());
	}

	public LinkedList turnierliste = teilnehmerliste;
	/** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
public void wettkampf(teilnehmerliste)
{
	while (turnierliste.size() > 1)
	{
		/** Zufallszahl erzeugen */
		double kampf = 100 * Math.random();
		/** Iterartor für den Zugriff auf das nächste Element */
		Iterator it = turnierliste.iterator();
		r1 = (Reiter2)it.next();
		if (r1.getWsk() > kampf) /**	Wenn die Zufallszahl kleiner als die AdSSWSK ist, dann wird der "Duell"-Partner
									von der Turnierliste entfernt */
		{
			if(it.hasNext())
			{
				r2 = (Reiter2)(it.next());
				turnierliste.remove (turnierliste.indexOf(r2));
			}
			else
			{
				it = turnierliste.iterator();
				r2 = (Reiter2)(it.next());
			}
		}
		else
			r1 = (Reiter2)(it.next());
		/** Ausgabe des Siegers */
		System.out.println("Sieger des Turniers ist der Reiter mit der Startnummer: " + r1.getNummer());
	}

  }
}

import IO.*;
import java.util.*;
public class Augabe15
{
    public static void main (String[] args)
    {
        Augabe15 augabe15 = new Augabe15();
        /** temporären Vergelichsreiter erstellen */
        Reiter2 temp = null;
        /** Teilnehmerliste erzeugen */
        LinkedList teilnehmerliste = new LinkedList();

        boolean e = true;
        int n = 0;
        String inpuffer;
        double p;
        do
        {
            /** Aufforderung zur Anmeldung */
            System.out.println("Geben Sie bitte die AdSSWSK ein:");
            /** Erstellen einer Eingabevariable, die auf "leere Eingabe" überprüft werden kann */
            inpuffer = InOut.readLine();
            if (inpuffer.equals (""))
                {
                    e = false;  // Abbruch bei leerer Eingabe
                }
            else
            {
                try
                {
                    /** Umwandlung des Strings in einen double Wert */
                    p = Double.parseDouble(inpuffer.trim());
                    /** Abfangen, dass nur %-Zahlen, also zwischen 0 und 100 eingegeben werden */
                    if((p>100) || (p<0)) System.out.println("Nur Zahlen zwischen 0 und 100!");
                    else
                    {
                        /** Startnummer hochzählen, um Reiter später zu identifizieren */
                        n++;
                        /**Falls die Liste leer ist, kann gleich eingefügt werden */
                        if (teilnehmerliste.isEmpty())
                        {
                            teilnehmerliste.add(new Reiter2(n,p));
                        }
                        else
                        {
                            /** Iterator erzeugen, der Zugriff auf das nächste Element der Liste ermöglicht */
                            Iterator it = teilnehmerliste.iterator();
                            /** Einfügen der Teilnehmer in geordneter Reihenfolge */
                            do
                            {
                               /**  Index solnage hochzählen, bis Reiter mit höheren AdSSWSK gefunden bzw. das
                                    Listenende erreicht ist */
                                temp = (Reiter2)it.next();
                            }
                            while ((temp.getWsk() < p) && (it.hasNext()));

                            if (temp.getWsk()>p) /** Einfügen vor dem temporären Reiter */
                                teilnehmerliste.add (teilnehmerliste.indexOf(temp), new Reiter2(n,p));
                            else    /** am Listenende einfügen */
                                teilnehmerliste.add (new Reiter2(n,p));
                        }
                    }

                }
                /** Abfangen, dass nur Zahlen als AdSSWSK eingegeben werden */
                catch (NumberFormatException e2)
                {
                    System.out.println("Bitte nur Zahlen eingeben!");
                }
            }
        }while (e == true);
        /** Ausgabe der sortierten Teilnehmerliste*/
        /** Erzeugen eines Iterartors, der das Finden des nächsten Elements der Liste ermöglicht */
        Iterator it = teilnehmerliste.iterator();
        while (it.hasNext())
        {
            Reiter2 r = (Reiter2)(it.next());
            /** Ausgabe der Startnummer und der AdSSWSK der Reiter in der Teilnehmerliste */
            System.out.println("Reiter mit Startnummer " + r.getNummer() + " hat eine AdSSWSK von " + r.getWsk());
        }
        augabe15.wettkampf();
    }

}
Stimmt das jetzt nun so, ist ist es doch anders???
Bitte helft mir, morgen muss das Programm laufen...


Außerdem wollte ich noch Fragen, ob mir jemand eine Entwicklungsumgebung empfehlen kann, weil mein BlueJ tuts auch nach einer Neuinstallation nicht mehr.
Und vielleicht weiß auch jemand ein gutes deutschsprachiges Java-Buch mit präzisem Stichwortverzeichnis und kommentierten Beispielen...
 
B

Beni

Gast
Oje :roll:

Also: 1. saug dir Eclipse oder den JBuilder runter, die beiden bringen nämlich anständige Fehlermeldungen.

2. Bücher: z.B. das Javabuch oder Java ist auch eine Insel

3. Ein paar Fehler:

Code:
   /** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
public void wettkampf(teilnehmerliste)
{
Was ist teilnehmerliste denn?
:arrow:
Code:
   /** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
public void wettkampf( LinkedList teilnehmerliste)
{



Code:
            System.out.println("Reiter mit Startnummer " + r.getNummer() + " hat eine AdSSWSK von " + r.getWsk());
        }
        augabe15.wettkampf();
Wolltest du eher
Code:
turnier2 turnier = ...
turnier.wettkampf( teilnehmerliste );
schreiben?

mfg Beni
 

FlotteBine

Mitglied
Danke erstmal!
Hab ich gemacht...
Aber der Compiler meint bei
Code:
        turnier2 turnier = new turnier2();
turnier2(java.util.LinkedList)in turnier2 cannot be applied to()
 
B

Beni

Gast
Weil der Konstruktor von turnier2 so aussieht:

Code:
   public turnier2 (LinkedList t) {
      teilnehmerliste =(LinkedList)(t.clone());
   }

Er erwartet eine LinkedList! Entweder gibst du ihm das, oder du schreibst den Konsturktor um.
 

FlotteBine

Mitglied
Ich weiß, soviel Blödheit auf einen Haufen... :(
Ich hab jetzt am Anfang der main-Methode stehen:
Code:
turnier2 turnier = new turnier2();
und zum Aufruf der Methode:
Code:
turnier.wettkampf(LinkedList teilnehmerliste);
Jetzt erwartet der Compiler ein ')'... Wie das?
 
B

Beni

Gast
Ich glaube du verwechselst ein paar Dinge?

So wird eine Methode deklariert:
Code:
public void doSomething( LinkedList list ){
  ...  
}


So wird eine Methode aufgerufen:
Code:
LinkedList linked = ...
doSomething( linked );
 

FlotteBine

Mitglied
Okay, hab ich gemacht...
Code:
...
public class Augabe15
{
    public static void main (String[] args)
    {
        turnier2 turnier = new turnier2();
        /** temporären Vergelichsreiter erstellen */
        Reiter2 temp = null;
        /** Teilnehmerliste erzeugen */
        LinkedList teilnehmerliste = new LinkedList();
...
 turnier.wettkampf(teilnehmerliste);

public class turnier2
{
     ...
     public turnier2 (LinkedList t) {
		teilnehmerliste =(LinkedList)(t.clone());
	}

	public LinkedList turnierliste = teilnehmerliste;
	/** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
  public void wettkampf(LinkedList teilnehmerliste)
  {
	while (turnierliste.size() > 1)
	...
Und da meckert er wieder:
bei
Code:
        turnier2 turnier = new turnier2();
turnier2(java.util.LinkedList) in turnier 2 cannot be applied to()
 
B

Beni

Gast
Ich habs jetzmal ein bisschen abgändert:

Das Turnier bleibt fast gleich, nur die Methode "wettkampf" wird verändert:
Code:
   /** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
public void wettkampf()
{
   while (turnierliste.size() > 1)
   {


Das Turnier wird erst initialisiert, wenn alle Teilnehmer bekannt sind:
Code:
             * Ausgabe der Startnummer und der AdSSWSK der Reiter in der
             * Teilnehmerliste
             */
            System.out.println("Reiter mit Startnummer " + r.getNummer() + " hat eine AdSSWSK von " + r.getWsk());
        }
        turnier2 turnier = new turnier2( teilnehmerliste );
        turnier.wettkampf();

besser?
 

FlotteBine

Mitglied
Er hat's fertig compiliert, er hat's fertig compiliert... :D
ABER: wenn ich das Programm laufen lass und die AdSSWSKs eingelesen und danach ausgegeben habe, dann hängt er sich auf und sagt:
in turnier2, Zeile
Code:
while (turnierliste.size()>1)
NullPointerException: null
 
B

Beni

Gast
Code:
   private LinkedList teilnehmerliste;

   public turnier2 (LinkedList t) {
      teilnehmerliste =(LinkedList)(t.clone());
   }

   public LinkedList turnierliste = teilnehmerliste;

Wenn der Konstruktor aufgerufen wird, passiert folgendes:
zuerst wird teilnehmerliste = null gesetzt.
dann wird turnierliste = teilnehmerliste (also = null) gesetzt.
dann wird der Konstruktor ausgeführt, und teilnehmerliste = t.clone gesetzt.

:arrow: also wenn schon, muss die turnierliste auch noch im Konstruktor gesetzt werden.
Aber brauchst du die wirklich? teilnehmerliste und turnierliste sind ja die identischen Listen.

So, und jetzt geh ich weg. Hoffentlich hilft dir noch jemand anders (Wink mit dem Zaunpfahl, an alle die hier vorbeischauen)

[Edit: Post Nr. 1000 !! juhuii ]
 

FlotteBine

Mitglied
Ich bin fast am verzweifeln...
Ich brauch sowohl die Teilnehmer-, als auch die Turnierliste, weil ich die aus dem Sattel gefallenen Reiter von der Turnierliste lösche, aber in der Teilnehmerliste bleiben sie dennoch enthalten.
An welcher Stelle und wie muss ich die turnierliste vereinbaren?
Und an welcher Stelle kann ich den nun die turnierliste = teilnehmerliste setzen und wie genau soll das aussehen?
 
B

Beni

Gast
Ach so. Dann wäre wohl eher sowas angebracht:
Code:
   private LinkedList teilnehmerliste;
   public LinkedList turnierliste = teilnehmerliste;

   public turnier2 (LinkedList t) {
      turnierliste = t;
      teilnehmerliste =(LinkedList)(t.clone());
   }
 

FlotteBine

Mitglied
Die gute Nachricht:
Das hat jetzt geklappt... :D :D :D :D :D :D :D :D :D
Und die schlechte:
"Herzlichen Glückwunsch, sie haben eine endlosschleife programmiert":autsch:...
..wie jemand mal zu sagen pflegte
 

FlotteBine

Mitglied
Fehler selbst behoben...:D
Aber, irgendwie gewinnt immer der Reiter, der die kleinste Wahrscheinlichkeit hat, jemand anderen aus dem Sattel zu stoßen... is ein bissel dumm oder? :roll:
 
S

stev.glasow

Gast
Kannst du mal den Code so wie er ist in einem Stück posten ? Habe nämlich im Laufe des Gefechts den Überblick verloren.
 

FlotteBine

Mitglied
Geht klar:
Code:
public class Reiter2 {
	/** Variablen */
	private double adsswsk;
	private int nummer;
	public int anzSiege;
	
	/** Konstruktor der Klasse Reiter2
		@param nr (Startnummer), p (Aus-dem-Sattel-Stoß-Wahrscheinlichkeit */
	public Reiter2(int nr, double p) {
		adsswsk=p;
		nummer=nr;
		anzSiege=0;
	}
	/** Setzen der Aus-dem-Sattel-Stoß-Wahrscheinlichkeit 
		@param p (Wahrscheinlichkeit) */
	void setWsk(double p) {
		adsswsk=p;
	}
	/** Get-Methode der Startnummer
		@return nummer */
	int getNummer() {
		return nummer;
	}
	/** Get-Methode der Aus-dem-Sattel-Stoß-Wahrscheinlichkeit
		@return adsswsk */
	double getWsk() {
		return adsswsk;
	}
	/** Stoß
		@return ob Zufallszahl kleiner als "Aus-dem-Sattel-Stoß-Wahrscheinlichkeit" */
	boolean stossen() {
		return Math.random()<adsswsk;
	}
}


import java.util.*;
public class turnier2 {

    Reiter2 r1 = null, r2 = null;
    private LinkedList teilnehmerliste;
    public LinkedList turnierliste = teilnehmerliste;
    
    public turnier2 (LinkedList t) {
        turnierliste = t;
        teilnehmerliste =(LinkedList)(t.clone());
    }

    
    /** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
public void wettkampf()
{
    while (turnierliste.size() > 1)
    {
        /** Zufallszahl erzeugen */
        double kampf = 100 * Math.random();
        /** Iterartor für den Zugriff auf das nächste Element */
        Iterator it = turnierliste.iterator();
        r1 = (Reiter2)it.next();
        if (r1.getWsk() > kampf) /** Wenn die Zufallszahl kleiner als die AdSSWSK ist...*/ 
        {
            if(it.hasNext())
            {   /** ...dann wird der "Duell"-Partner von der Turnierliste entfernt */
                r2 = (Reiter2)(it.next());
                turnierliste.remove (turnierliste.indexOf(r2));
            }
            else
            {
                it = turnierliste.iterator();
                r2 = (Reiter2)(it.next());
            }
        }
        else /** Ansonsten kämpft der nächste Reiter */
        {
            it = turnierliste.iterator();
            r1 = (Reiter2)(it.next());
        }
     }
    /** Ausgabe des Siegers */
    System.out.println("Sieger des Turniers ist der Reiter mit der Startnummer: " + r1.getNummer());
  }
}


import IO.*;
import java.util.*;
public class Augabe15
{
    public static void main (String[] args)
    {

        /** temporären Vergelichsreiter erstellen */
        Reiter2 temp = null;
        /** Teilnehmerliste erzeugen */
        LinkedList teilnehmerliste = new LinkedList();
        
        boolean e = true;
        int n = 0;
        String inpuffer;
        double p;
        do
        {
            /** Aufforderung zur Anmeldung */
            System.out.println("Geben Sie bitte die AdSSWSK ein:");
            /** Erstellen einer Eingabevariable, die auf "leere Eingabe" überprüft werden kann */
            inpuffer = InOut.readLine();
            if (inpuffer.equals (""))
                {
                    e = false;  // Abbruch bei leerer Eingabe
                }
            else
            {
                try
                {
                    /** Umwandlung des Strings in einen double Wert */
                    p = Double.parseDouble(inpuffer.trim());
                    /** Abfangen, dass nur %-Zahlen, also zwischen 0 und 100 eingegeben werden */
                    if((p>100) || (p<0)) System.out.println("Nur Zahlen zwischen 0 und 100!");
                    else
                    {
                        /** Startnummer hochzählen, um Reiter später zu identifizieren */
                        n++;
                        /**Falls die Liste leer ist, kann gleich eingefügt werden */
                        if (teilnehmerliste.isEmpty())
                        {
                            teilnehmerliste.add(new Reiter2(n,p));
                        }
                        else
                        {
                            /** Iterator erzeugen, der Zugriff auf das nächste Element der Liste ermöglicht */
                            Iterator it = teilnehmerliste.iterator();
                            /** Einfügen der Teilnehmer in geordneter Reihenfolge */
                            do
                            {
                               /**  Index solnage hochzählen, bis Reiter mit höheren AdSSWSK gefunden bzw. das
                                    Listenende erreicht ist */
                                temp = (Reiter2)it.next();
                            }
                            while ((temp.getWsk() < p) && (it.hasNext()));

                            if (temp.getWsk()>p) /** Einfügen vor dem temporären Reiter */
                                teilnehmerliste.add (teilnehmerliste.indexOf(temp), new Reiter2(n,p));
                            else    /** am Listenende einfügen */
                                teilnehmerliste.add (new Reiter2(n,p));
                        }
                    }

                }
                /** Abfangen, dass nur Zahlen als AdSSWSK eingegeben werden */
                catch (NumberFormatException e2)
                {
                    System.out.println("Bitte nur Zahlen eingeben!");
                }
            }
        }while (e == true);
        /** Ausgabe der sortierten Teilnehmerliste*/
        /** Erzeugen eines Iterartors, der das Finden des nächsten Elements der Liste ermöglicht */
        Iterator it = teilnehmerliste.iterator();
        while (it.hasNext())
        {
            Reiter2 r = (Reiter2)(it.next());
            /** Ausgabe der Startnummer und der AdSSWSK der Reiter in der Teilnehmerliste */
            System.out.println("Reiter mit Startnummer " + r.getNummer() + " hat eine AdSSWSK von " + r.getWsk());
        }
        
        turnier2 turnier = new turnier2(teilnehmerliste);
        turnier.wettkampf();
    }
    
}
:bahnhof:
 

FlotteBine

Mitglied
Wieso kann mir denn da keiner helfen???
Ist es wirklich sooo schwer??? Kann ich mir gar nicht vorstellen... ???:L [schild=7 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Hilfe[/schild]
 
S

stev.glasow

Gast
FlotteBine hat gesagt.:
Wieso kann mir denn da keiner helfen???
Ist es wirklich sooo schwer??? Kann ich mir gar nicht vorstellen... ???:L [schild=7 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Hilfe[/schild]
Sorry ich bin zu blöd :bahnhof: Vielleicht weiß ja noch jemand anderes was..
Code:
Iterator it = turnierliste.iterator();
        r1 = (Reiter2)it.next();
        if (r1.getWsk() > kampf) {
...
r1 ist hier immer der erste Reiter aus deiner Liste, da du dir mit
Iterator it = turnierliste.iterator();
jedes mal einen neuen Iterator holst.

Code:
InOut.readLine();
warst du hier noch nicht fertig ?
 

Jaraz

Bekanntes Mitglied
FlotteBine hat gesagt.:
Wieso kann mir denn da keiner helfen???
Ist es wirklich sooo schwer??? Kann ich mir gar nicht vorstellen... ???:L [schild=7 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Hilfe[/schild]

Du bist echt lustig. :D
33 Minuten und dann nörgeln obwohl schon ohne Ende geholfen wurde.

Ich habe keine große Lust das geschriebene zu entziffern, da:

Die IO Klasse/n fehlt/en oder habe ich die übersehen?
Die ganzen Kommentare nicht helfen sondern nur verwirren.
Das was man sofort erkennen kann, Iterator getter setter usw brauchst du nicht kommentieren

Dein Code ist so schwer zu lesen, da unterschiedliche Klammersetzung und oft alles in eine Zeile gequetscht wird.

Also poste mal alle Klassen, dann kann man mal drüberschauen. (Hab keine Lust die Stellen die fehlen selber zu schreiben.)

Gruß Jaraz
 
S

stev.glasow

Gast
Jaraz hat gesagt.:
Also poste mal alle Klassen, dann kann man mal drüberschauen. (Hab keine Lust die Stellen die fehlen selber zu schreiben.)

Gruß Jaraz

Das sind alle Klasse, fehlerhaft ist eigendlich nur die Zeile mi dem read.line() (in der main), sonst ist alles da und läuft auch.
<edit>
Habe eben mal angefangen das zu entschlüssln, dabei ist mir eigendlich nur das mit dem Interator aufgefallen.
Vielleicht hast du ja mehr Erfolg
 

Tobias

Top Contributor
Die Variable InOut existiert nicht, ebensowenig das package InOut, das du oben importierst - von wo willst du denn lesen??

mpG
Tobias
 
S

stev.glasow

Gast
Tobias hat gesagt.:
Die Variable InOut existiert nicht, ebensowenig das package InOut, das du oben importierst - von wo willst du denn lesen??

mpG
Tobias
Ich beantworte das mal: von System.in
 
B

Beni

Gast
Ich nehm mal an, das ist was schulinternes (damit die Leute nicht zu viel denken...).

Es konnte ja bei FlotteBine kompiliert werden, und der Sinn dieses IO's ist ja wohl auch klar.

Ich glaube irgendwie nicht, dass hier ein Fehler ist...
... eher beim Design (aber um das nochmal zu schreiben ist der Abgabetermin zu nahe)
 
S

stev.glasow

Gast
Ich denke da soll einfach nur eine Zeile aus der Konsole eingelesen werde, ist ja auch nicht weiter das Problem.
In der Programm-Logik happert es nur noch 'etwas'
meine Ansatz war halt das Problem in:
Code:
Iterator it = turnierliste.iterator();
        r1 = (Reiter2)it.next();
        if (r1.getWsk() > kampf) {
Das Problem isr nur das die Teilnehmer wärend des durchgangs verkleinert und ziehmlich oft ein neuer iterator geholt wird, kann nur den zusammenhang nicht erkennen
 

Tobias

Top Contributor
Hab die gerade genannten Fehler beeinigt, lese jetzt von der Standardeingabe, was ich für sinnvoll hielt, angesichts des Codekontexts. Bekomme allerdings ein ConcurrentModificationException, wegen der zwei Iteratoren, die darüber laufen - ein Verhalten, das mir nicht ganz klar ist... :bahnhof:
Vielleicht komme ich noch dahinter...

mpG
Tobias

P.S.: Achja, @stevg: Die ConcurrentModificationException bekomme ich erst seit ich die Iteratordefinition vor die while gesetzt habe, was mir auch hochgradig logisch erscheint (das Versetzen, nicht die Exception...). Davor wurde immer der zum Sieger, der die ADSSusw hatte (was für eine Bezeichnung!).
 

FlotteBine

Mitglied
Hier die IO-Geschichte:

Code:
// InOut.java                                   MM 2003
// Diese Klasse gehoert zum package IO.
package IO;
import java.io.*;

/**
 * InOut implementiert Klassenmethoden zur einfachen
 * Tastatureingabe und Konsolenausgabe.
 * @author M. Meiler
 * @version 1.0
 */

public class InOut
{
/******************** Ausgabe String *****************/
 
 /**
   * Ausgabe eines String ohne Zeilenende
   */
  public static void writeString( String s)
  {
    System.out.print( s);
  }

  /**
   * Ausgabe einer Zeile mit Zeilenende
   */
  public static void writeLine( String s)
  {
    System.out.println( s);
  }

/******************** Eingabe String *****************/

  /**
   * Lesen einer Zeile
   */
  public static String readLine()
  {
    return readLine( "");
  }

  /**
   * Lesen einer Zeile
   * @param prompt     Eingabeaufforderung
   */
  public static String readLine( String prompt)
  {
    BufferedReader in = new BufferedReader
                  ( new InputStreamReader( System.in));
    try
    {
      /* Lesen einer Zeile und Entfernen
       * der sie umgebenen Leerzeichen.
       */
      writeString( prompt);
      return new String (in.readLine().trim());
    }
    catch( Exception e)
    {
      System.out.println( "Falsche Eingabe " + e);
      return "";
    }
  }

/******************** Eingabe Integer ****************/

  /**
   * Lesen eines Integers
   */
  public static int readInt()
  {
    return readInt( ""); 
  }

  /**
   * Lesen eines Integers
   * @param prompt     Eingabeaufforderung
   */
  public static int readInt( String prompt)
  {
    int i = 0;
    while( true)
    {
      try
      {
        i = Integer.parseInt( readLine( prompt));
        break;
      }
      catch( Exception e)
      {
        System.out.println
        ( "Nur Zahlen eingeben! " + e);
      }
    }
    return i; 
  }

  /**
   * Lesen eines Integers
   * @param prompt     Eingabeaufforderung
   * @param end        Wert, der bei ENTER zurueckgegeben werden soll
   */
  public static int readInt( String prompt, int end)
  {
    int i = 0; String line;
    while( true)
    {
      try
      { line =  readLine( prompt);
        if( line.equals( ""))
          i = end;
        else
          i = Integer.parseInt( line);
        break;
      }
      catch( Exception e)
      {
        System.out.println
        ( "Nur Zahlen eingeben! " + e);
      }
    }
    return i; 
  }

/******************** Eingabe Double *****************/

  /**
   * Lesen eines Double
   */
  public static double readDouble()
  {
    return readDouble( ""); 
  }

  /**
   * Lesen eines Double
   * @param prompt     Eingabeaufforderung
   */
  public static double readDouble( String prompt)
  {
    double i = 0;
    while( true)
    {
      try
      {
        i = Double.valueOf( readLine( prompt)).doubleValue();
        break;
      }
      catch( Exception e)
      {
        System.out.println
          ( "Nur Zahlen eingeben! " + e);
      }
    }
    return i; 
  }
}
 

FlotteBine

Mitglied
Wegen der Iteratoren:
Wenn ich am Listenende angelangt bin, muss ich den letzten der Liste mit dem ersten der Liste "duellieren" und da es bei einer LinkedList kein getFirst gibt, hab ich das über den Iterator gelöst...
Wie gesagt, das Progi läuft, der einzige Fehler ist, dass immer der mit der geringsten WSK gewinnt...
Ach ja, und der aktuelle Quellcode ist schon auf dieser Seite, ganz oben...
 
S

stev.glasow

Gast
so, besser gehts nicht auf die schnelle:
Code:
void wettkampf()
{
	while (turnierliste.size() > 1)
	{
		/** Zufallszahl erzeugen */
		double kampf = 100 * Math.random();
		/** Iterartor für den Zugriff auf das nächste Element */
		Iterator it = turnierliste.iterator();
		r1 = (Reiter2)it.next();
		System.out.println(r1.getWsk() + ":" + kampf);
		if (r1.getWsk() > kampf) /** Wenn die Zufallszahl kleiner als die AdSSWSK ist...*/
		{
			if(it.hasNext())
			{   /** ...dann wird der "Duell"-Partner von der Turnierliste entfernt */
				r2 = (Reiter2)(it.next());
				turnierliste.remove (turnierliste.indexOf(r2));
			}
			else
			{
				
				it = turnierliste.iterator();
				r2 = (Reiter2)(it.next());
			}
		}
		else /** Ansonsten kämpft der nächste Reiter */
		{
			//it = turnierliste.iterator();
			//r1 = (Reiter2)(it.next());
			turnierliste.remove(turnierliste.indexOf(r1));
		}
	 } 
    /** Ausgabe des Siegers */
    System.out.println("Sieger des Turniers ist der Reiter mit der Startnummer: " + r1.getNummer());
  }
}
<edit>
es gewinnt erstmal nicht mehr der gleiche, aber das wahre ist es nicht (nicht gegen dich FlotteBine)
<edit>
hab eigentlich nur dies hier geändert:
Code:
//it = turnierliste.iterator();
//r1 = (Reiter2)(it.next());
turnierliste.remove(turnierliste.indexOf(r1));
 
B

Beni

Gast
Sag diesem M.Meiler, sein Code sei ein Performacekiller :D

Hab die Diskussion jetzt nicht ganz mitverfolgt, wie soll ein Kampf funktionieren?

Der erste Reiter der Liste wird genommen:
- Er gewinnt: Reiter 2 der Liste wird entfernt
- Er verliert: Nichts geschieht, der Loop beginnt von vorne.

???:L

Oder gibt es jetzt schon wieder eine neue Version?

[Edit: oops, zu spät]
 

Tobias

Top Contributor
So, jetzt funktioniert es soweit, das keine Exceptions mehr kommen und nicht immer der mit der kleinsten ADSSusw gewinnt. Bekannte Kinderkrankheiten: Nicht mehr der Startnummer nach sortierte Starterliste (FRAG mich NICHT warum!). Für lange Regressionstests fehlte mir natürlich die Zeit, ebenso für eine vernünftige Auswertung der Ergebnisse... Auf den ersten Blick sehen sie vernünftig aus - für Lehrer reicht das meistens :autsch:.

Augabe15:
Code:
import java.util.*;
import java.io.*;

public class Augabe15 {
      public static void main(String[] args) {

            /** temporären Vergelichsreiter erstellen */
            Reiter2 temp = null;
            /** Teilnehmerliste erzeugen */
            Vector teilnehmerliste = new Vector();

            boolean e = true;
            int n = 0;
            BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
            String inpuffer = null;
            double p;
            do {
                  /** Aufforderung zur Anmeldung */
                  System.out.println("Geben Sie bitte die AdSSWSK ein:");
                  /** Erstellen einer Eingabevariable, die auf "leere Eingabe" überprüft werden kann */
                  try {
                        inpuffer = buf.readLine();
                  }
                  catch (IOException ex) {
                        ex.printStackTrace();
                  }
                  if (inpuffer.equals("")) {
                        e = false; // Abbruch bei leerer Eingabe
                  }
                  else {
                        try {
                              /** Umwandlung des Strings in einen double Wert */
                              p = Double.parseDouble(inpuffer.trim());
                              /** Abfangen, dass nur %-Zahlen, also zwischen 0 und 100 eingegeben werden */
                              if ( (p > 100) || (p < 0)) System.out.
                                    println(
                                    "Nur Zahlen zwischen 0 und 100!");
                              else {
                                    /** Startnummer hochzählen, um Reiter später zu identifizieren */
                                    n++;
                                    /**Falls die Liste leer ist, kann gleich eingefügt werden */
                                    if (teilnehmerliste.isEmpty()) {
                                          teilnehmerliste.add(new Reiter2(
                                                n, p));
                                    }
                                    else {
                                          /** Iterator erzeugen, der Zugriff auf das nächste Element der Liste ermöglicht */
                                          Iterator it = teilnehmerliste.
                                                iterator();
                                          /** Einfügen der Teilnehmer in geordneter Reihenfolge */
                                          do {
                                                /**  Index solnage hochzählen, bis Reiter mit höheren AdSSWSK gefunden bzw. das
                                                 Listenende erreicht ist */
                                                temp = (Reiter2) it.next();
                                          }
                                          while ( (temp.getWsk() < p) &&
                                                 (it.hasNext()));

                                          if (temp.getWsk() >
                                              p)
                                                /** Einfügen vor dem temporären Reiter */
                                                teilnehmerliste.add(
                                                      teilnehmerliste.
                                                      indexOf(temp),
                                                      new Reiter2(n, p));
                                          else

                                                /** am Listenende einfügen */
                                                teilnehmerliste.add(new
                                                      Reiter2(n, p));
                                    }
                              }

                        }
                        /** Abfangen, dass nur Zahlen als AdSSWSK eingegeben werden */
                        catch (NumberFormatException e2) {
                              System.out.println(
                                    "Bitte nur Zahlen eingeben!");
                        }
                  }
            }
            while (e == true);
            /* Ausgabe der sortierten Teilnehmerliste
            Erzeugen eines Iterartors, der das Finden des nächsten Elements der Liste ermöglicht*/
            Iterator it = teilnehmerliste.iterator();
            while (it.hasNext()) {
                  Reiter2 r = (Reiter2) (it.next());
                  // Ausgabe der Startnummer und der AdSSWSK der Reiter in der Teilnehmerliste
                  System.out.println("Reiter mit Startnummer " +
                                     r.getNummer() +
                                     " hat eine AdSSWSK von " + r.getWsk());
            }

            turnier2 turnier = new turnier2((Vector)teilnehmerliste.clone());
            turnier.wettkampf();
      }
}

Reiter2
Code:
public class Reiter2 { 
      /** Variablen */
      private double adsswsk;
      private int nummer;
      public int anzSiege;

      /** Konstruktor der Klasse Reiter2
         @param nr (Startnummer), p (Aus-dem-Sattel-Stoß-Wahrscheinlichkeit */
      public Reiter2(int nr, double p) {
            adsswsk = p;
            nummer = nr;
            anzSiege = 0;
      }

      /** Setzen der Aus-dem-Sattel-Stoß-Wahrscheinlichkeit
         @param p (Wahrscheinlichkeit) */
      void setWsk(double p) {
            adsswsk = p;
      }

      /** Get-Methode der Startnummer
         @return nummer */
      int getNummer() {
            return nummer;
      }

      /** Get-Methode der Aus-dem-Sattel-Stoß-Wahrscheinlichkeit
         @return adsswsk */
      double getWsk() {
            return adsswsk;
      }

      /** Stoß
       @return ob Zufallszahl kleiner als "Aus-dem-Sattel-Stoß-Wahrscheinlichkeit" */
      boolean stossen() {
            return Math.random() < adsswsk;
      }
}

Turnier2:
Code:
import java.util.*;

public class turnier2 {

      Reiter2 r1 = null, r2 = null;
      private Vector teilnehmerliste;
      public Vector turnierliste = teilnehmerliste;

      public turnier2(Vector t) {
            turnierliste = t;
            teilnehmerliste = (Vector) (t.clone());
      }

      /** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
      public void wettkampf() {
            /** Iterartor für den Zugriff auf das nächste Element */
            Iterator it = turnierliste.iterator();
            while (it.hasNext()) {
                  /** Zufallszahl erzeugen */
                  double kampf = 100 * Math.random();
                  r1 = (Reiter2) it.next();
                  if (r1.getWsk() >
                      kampf) /** Wenn die Zufallszahl kleiner als die AdSSWSK ist...*/
                      {
                        if (it.hasNext()) {
                              /** ...dann wird der "Duell"-Partner von der Turnierliste entfernt */
                              r2 = (Reiter2) (it.next());
                              it.remove();
                        }
                        else {
                              it.remove();
                        }
                  }
            }
            /** Ausgabe des Siegers */
            System.out.println(
                  "Sieger des Turniers ist der Reiter mit der Startnummer: " +
                  r1.getNummer());
      }
}

mpG
Tobias
 

Tobias

Top Contributor
Ach ja, in Ermangelung einer klaren Aufgabenstellung:

Reiter 1 kämpft gegen Reiter 2 - gewinnt er, wird Reiter 2 gelöscht.
- verliert er, wird er selbst gelöscht.
Danach beginnt in jedem Fall der Loop von vorne. :meld:

mpG
Tobias
 

FlotteBine

Mitglied
Tobias hat gesagt.:
Ach ja, in Ermangelung einer klaren Aufgabenstellung:

Reiter 1 kämpft gegen Reiter 2 - gewinnt er, wird Reiter 2 gelöscht.
- verliert er, wird er selbst gelöscht.
Danach beginnt in jedem Fall der Loop von vorne. :meld:

mpG
Tobias

Fast richtig, bis auf Punkt zwei. Verliert Reiter 1, kämpft Reiter 3 gegen Reiter 4... (und Reiter 1 und 2 bleiben in der Turnierliste... bis der letzte Reiter der Liste, den ersten Reiter der Liste aus dem Sattel stößt...)
 

FlotteBine

Mitglied
Tobias hat gesagt.:
Bekannte Kinderkrankheiten: Nicht mehr der Startnummer nach sortierte Starterliste (FRAG mich NICHT warum!).
Die Reiter sollen nach ihrer "Aus-dem-Sattel-Stoß-WSK" sortiert kämpfen und die Startnummer hab ich einfach noch dazugenommen, um den Gewinner zu identifizieren, ich hätte mir auch Namen eingeben lassen können....
Aber ich geb dir insofern Recht: "Startnummer" is ne scheiß Bezeichnung dafür...
 

Tobias

Top Contributor
"Startnummer" is ne scheiß Bezeichnung dafür...

Mit "scheiß-Bezeichnung" :lol: würde ich eher diese ADSSWSK belegen... Die Abkürzung ist auf den ersten Blick sowenig sprechend wie ToD für jeden, der nicht meinen vollen Namen kennt ;)... Aber nix für ungut, Hauptsache es funzt jetzt.

mpG
ToD
 

FlotteBine

Mitglied
Leider nicht ganz. Wenn man sich die Zwischenschritte nicht anzeigen lässt, dann merkt man es gar nicht...
Es gibt eben noch das Problem, dass der Verlierer nicht von der Liste gelöscht wird...
Ich hatte vorhin schon geschrieben:
Fast richtig, bis auf Punkt zwei. Verliert Reiter 1, kämpft Reiter 3 gegen Reiter 4... (und Reiter 1 und 2 bleiben in der Turnierliste... bis der letzte Reiter der Liste, den ersten Reiter der Liste aus dem Sattel stößt...)
 

Jaraz

Bekanntes Mitglied
So?
Code:
/** Kampfhandlungen, bis nur noch ein Teilnehmer übrig ist */
	public void wettkampf() {
		while (turnierliste.size() > 1) {
			if (((Reiter2) turnierliste.getFirst()).getWsk() > (100 * Math.random())) {
				// Gegner löschen
				turnierliste.remove(1);
			} else {
				// Hinten anstellen
				turnierliste.add(turnierliste.getFirst());
				turnierliste.removeFirst();
				turnierliste.add(turnierliste.getFirst());
				turnierliste.removeFirst();
			}
		}
		System.out.println("Sieger des Turniers ist der Reiter mit der Startnummer: " + ((Reiter2) turnierliste.getFirst()).getNummer());
	}
 

FlotteBine

Mitglied
:toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D
Vielen lieben Dank, so hatte ich es mir vorgestellt!!!
:toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D :toll: :D
 

FlotteBine

Mitglied
Nur noch eine kurze Frage, zum Verständnis, dann bin ich rundrum zufrieden.
Wieso, hast du zweimal:
Jaraz hat gesagt.:
Code:
				turnierliste.add(turnierliste.getFirst());
				turnierliste.removeFirst();
				turnierliste.add(turnierliste.getFirst());
				turnierliste.removeFirst();
Hast du dich verschrieben?
 

FlotteBine

Mitglied
Gut, hab ich verstanden...

Ich bin ja nicht wirklich dumm, aber mir fehlt halt die Übung und außerdem bin ich noch nicht bis ins Kleinste hinter die Objektorientierung gestiegen...
Aber mühsam ernährt sich das Eichhörnchen und irgenwann werde ich es auch noch schnallen. Ihr habt auch mal klein angefangen, deshalb:
noch mal einen ganz großen Dank an alle, die mir soo sehr geholfen haben und schlaft gut!
Eure FlotteBine
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Neuling47 bräuchte dringend hilfe Java Basics - Anfänger-Themen 6
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
A suche dringend Hilfe!! Java Basics - Anfänger-Themen 6
S ProgrammierHilfe dringend gesucht ( Icon bewegen) Java Basics - Anfänger-Themen 9
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
M Dringend Experten für Scala-Play basierte Programmierung!!!! Java Basics - Anfänger-Themen 0
Z Erste Schritte Bitte helft mir dringend!! Java Basics - Anfänger-Themen 3
J Ich bitte DRINGEND um Hilfe!!! Java Basics - Anfänger-Themen 16
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
R GUI mit if-Verzweigung kombiniert - Illegal start of expression (Dringend) Java Basics - Anfänger-Themen 7
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
M Denkanstoß für Umlaufzahl dringend benötigt! Java Basics - Anfänger-Themen 9
A Hangman in Java programmieren - dringend Java Basics - Anfänger-Themen 8
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
U Dringend: Syntax error on token "else" Java Basics - Anfänger-Themen 8
R While schleife in For Schleife umwandeln -- Dringend Java Basics - Anfänger-Themen 8
S Dringend! NullPointerException Java Basics - Anfänger-Themen 4
G Problem mit Zählschleife - Brauche dringend Unterstützung. Java Basics - Anfänger-Themen 5
C Brauche dringend H!lfe :( Java Basics - Anfänger-Themen 3
T [Dringend] Classpath-Problem Java Basics - Anfänger-Themen 3
K brauch dringend Hilfe *.jar abänder Java Basics - Anfänger-Themen 2
0 Ich brauche dringend Hilfe PRIMZAHLENZWILLINGE Java Basics - Anfänger-Themen 16
T Hilfe brauche dringend hilfe Java Basics - Anfänger-Themen 3
S Blutiger Java Anfänger braucht dringend Hilfe Java Basics - Anfänger-Themen 4
U ArrayIndexOutOfBoundsException - dringend Hilfe gesucht Java Basics - Anfänger-Themen 8
K Bräuchte dringend Hilfe bei einer Schulaufgabe Java Basics - Anfänger-Themen 2
N adt liste - dringend! Java Basics - Anfänger-Themen 3
H Brauche ganz dringend HILFEEE! Math random Java Basics - Anfänger-Themen 19
S Brauche ganz dringend Hilfe Java Basics - Anfänger-Themen 4
G schaut mal dringend rein(ist das realistisch) Java Basics - Anfänger-Themen 9
N Brauche dringend hilfe! Prog mit Fehlern Java Basics - Anfänger-Themen 2
S Listen - insert - print etc. Dringend! Bitte! Java Basics - Anfänger-Themen 6
S Brauche bitte dringend Übungsbeispiele! Java Basics - Anfänger-Themen 2
B zeus und java !!!brauche dringend hilfe!!! Java Basics - Anfänger-Themen 29
T Brauche dringend Hilfe Java Basics - Anfänger-Themen 22
N Turtles ? dringend Java Basics - Anfänger-Themen 3
B Frage zu BigDecimal! dringend Java Basics - Anfänger-Themen 2
B VISA.jar in Projekt einbinden (Library) Java Basics - Anfänger-Themen 5
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
Pinhg Sound in Greenfoot Code einbinden Java Basics - Anfänger-Themen 2
M OKHttpClient einbinden Java Basics - Anfänger-Themen 3
C externe jar einbinden in Eclipse-Projekt Java Basics - Anfänger-Themen 2
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
SpigBin Sound einbinden bei Funktionsaufruf Java Basics - Anfänger-Themen 4
M JAVA Programm in Website einbinden Java Basics - Anfänger-Themen 19
C External Jar einbinden bei Maven Java Basics - Anfänger-Themen 9
B tar.gz in Eclipse als Bibliothek einbinden Java Basics - Anfänger-Themen 3
C Einbinden von Komponenten mit Maven Java Basics - Anfänger-Themen 3
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
J Module richtig einbinden Java Basics - Anfänger-Themen 2
G eigene Bibliothek einbinden Java Basics - Anfänger-Themen 1
G Einbinden von Bildern in ausführbare Jar-Datei Java Basics - Anfänger-Themen 25
Trèfle EXCEL-File Laufwerkunabhängig einbinden. Java Basics - Anfänger-Themen 1
G persistence.xml in ausführbare jar einbinden Java Basics - Anfänger-Themen 11
D Java Programm mit JavaScript einbinden Java Basics - Anfänger-Themen 8
J ShortCut erstellen aber wie die dll einbinden Java Basics - Anfänger-Themen 3
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Grafik in CSV einbinden Java Basics - Anfänger-Themen 2
CptK Erste Schritte Sound-Datei einbinden Java Basics - Anfänger-Themen 2
E HTML in Java einbinden oder JavaScript? Java Basics - Anfänger-Themen 5
U Mehrfach verwendete Sub-Klassen richtig einbinden Java Basics - Anfänger-Themen 4
J If Anweisung in Schleife einbinden Java Basics - Anfänger-Themen 7
F PDF Datei in Java einbinden Java Basics - Anfänger-Themen 22
Hijo2006 Neue externe Klasse einbinden Java Basics - Anfänger-Themen 13
F Klassen Fremde Klasse in GUI einbinden ? Java Basics - Anfänger-Themen 3
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
S Klassen Externe Klasse in ein Projekt mit einbinden Java Basics - Anfänger-Themen 7
A JavaScript Object Notation einbinden mittels Maven Java Basics - Anfänger-Themen 7
S Classpath: Alle .jars innerhalb eines Ordners einbinden Java Basics - Anfänger-Themen 4
1 Im Java Projekt eine txt datei einbinden? Java Basics - Anfänger-Themen 8
S Konsole Lanterna in NetBeans einbinden Java Basics - Anfänger-Themen 5
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
G Applet in ein JSP einbinden Java Basics - Anfänger-Themen 1
Sogomn Einbinden eines Applets Java Basics - Anfänger-Themen 5
M Externe .jar in Sublime einbinden Java Basics - Anfänger-Themen 5
O Eclipse Bibliothek standardmäßig einbinden Java Basics - Anfänger-Themen 5
K JAR Dateien einbinden - funkt nicht wie es sollte... Java Basics - Anfänger-Themen 22
J Klasse einbinden Java Basics - Anfänger-Themen 2
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
S Variablen Rechenzeichen als Variablen in Rechnung einbinden Java Basics - Anfänger-Themen 4
I iCal und auf Homepage einbinden - Prinzip Java Basics - Anfänger-Themen 2
F JAR als bibliothek einbinden Java Basics - Anfänger-Themen 1
E Berechnung für Shop einbinden Java Basics - Anfänger-Themen 8
B jar richtig in libraryslibraries einbinden Java Basics - Anfänger-Themen 4
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
S Einbinden einer Klasse in die Gui Java Basics - Anfänger-Themen 4
I jar-Datei in HTML einbinden Java Basics - Anfänger-Themen 6
M Einbinden eines youtube-videos in Eclipse Java Basics - Anfänger-Themen 10
U ShareButton für LinkedIn einbinden Java Basics - Anfänger-Themen 2
M Bild einbinden Java Basics - Anfänger-Themen 7
T Java Main aus Subversion aufrufen / Hook einbinden Java Basics - Anfänger-Themen 2
A Applet mit Object-Tags einbinden. Java Basics - Anfänger-Themen 3
G Erste Schritte Native DLL (NativeBass.dll) einbinden (eclipse) Java Basics - Anfänger-Themen 2
B ICO Library über Eclipse einbinden Java Basics - Anfänger-Themen 2
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
B OOP If und else in Main class einbinden Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben