kostenloser Webspace werbefrei: lima-city


Problem mit if-Abfrage von Strings

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    teamfake

    teamfake hat kostenlosen Webspace.

    Hallo zusammen,
    nach meinem neulichen Patzer bin ich auf Java aufmerksam geworden und bin gerade dabei es zu lernen. Ich habe mir auch schon ein erstes Testprojekt ausgedacht, wo ich meine neuen Kenntnisse super prüfen und trainieren kann. Leider gab es einige Fehler dabei^^:

    hier ist mal der Grundcode, zum Problem komme ich dann im Anschluss.

    class Player 
    { 
    
    	private String name;
    
    	static void Spielername() {
    		
    		Player p = new Player();
    		p.name = "Spieler1";
    		Player s = new Player ();
    		s.name = "Spieler2";
    		
    	}
    	
    	private String S1;
    	private String S2;
    	
    	static void Bestzeit() {
    		Player Bestzeit = new Player();
    		Bestzeit.S1 = "55";
    		Bestzeit.S2 = "58";
    		
    		
    
    		
    	}
    	
    	private String rang1;
    	private String rang2;
    		
    	static void Platzierung() {
    		Player Platzierung1 = new Player();
    		Platzierung1.rang1 = "Nr. 1";
    		Platzierung1.rang2 = "Nr. 2";
    		
    		
    	}
    	
    	public static void main ( String[] args) {
    		Spielername();
    		Bestzeit();
    		Platzierung();
    	}
    
    }


    Nun möchte ich aber bei Bestzeit() prüfen, wer von den beiden Spielern die bessere Zeit besitzt. Wenn ich dies hätte würde ich noch gerne prüfen wer nun besser war und bei Platzierung die Ränge ausgeben. Ich poste mal noch meinen Code den ich eingefügt hätte, der aber leider nicht funktioniert hat :(

    private String S1;
    	private String S2;
    	
    	static void Bestzeit() {
    		Player Bestzeit = new Player();
    		Bestzeit.S1 = "55";
    		Bestzeit.S2 = "58";
                    		
                   if (Bestzeit.S1 < Bestzeit.S2) {
                       System.out.println("Spieler1 ist der Bessere");
                   } else {
                         System.out.println ("Spieler1 ist nicht erster");		
                   }
    		
    	}


    Dann bei der Prüfung der Ränge:

    static void Platzierung() {
    		Player Platzierung1 = new Player();
    		Platzierung1.rang1 = "Nr. 1";
    		Platzierung1.rang2 = "Nr. 2";
    		
                   if (Bestzeit1 < Bestzeit2) {
                        System.out.printf("%s", Platzierung.rang1);
                   }
    		
    	}


    Vielen Dank !

    Auch andere Fehler oder Verbesserungen bitte posten ;) Kritik deswegen umbedingt erwünscht :)

    Grüße
    TF
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    Ok, die erste Frage wäre wohl, warum (zum Teufel) du für eine Variable, die nur eine Zahl speichert einen String benutzt?
    Wenn du einfach eine Ganzzahl(also int) nimmst, kannst du auch mit dem kleiner Operator(<) prüfen, genauso machst du es bei dem Platz, du nimmst einfach nicht "Nr.2" sondern nur 2 und zwar auch als int.
  4. Wenn du die größe der zwei Zahlen vergleichen willst solltest du sie erst in einer Variable vom typ integer abspeichern.

    Die einfachste möglichkeit wäre du initialisierst einfach einen integer statt einen String:
    private int S1;
    private int S2;

    Wenn du die Variablen tatsächlich als String lassen möchtest (was zumindest in den Codes, die du gepostet hast keinen Sinn machen würde) musst du die Strings zur überprüfung in Variablen vom Typ integer konvertieren:
    if (Integer.parseInt(Bestzeit.S1) < Integer.parseInt(Bestzeit.S2))
  5. Autor dieses Themas

    teamfake

    teamfake hat kostenlosen Webspace.

    Hallo,
    vielen Dank für die schnelle Antwort :)

    Oh ja jetzt weiß ich auch, warum es bei mir auch einen Fehler immer angezeigt hat :biggrin:. Habe nämlich immer den Attributswert bei int in Anführungszeichen gesetzt :biggrin:

    Vielen Dank euch zwei !

    Grüße
    TF

    PS: @mods: Bitte Thema schließen :smile: Danke!

    Beitrag zuletzt geändert: 21.1.2010 16:01:06 von teamfake
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!