Anzeige: Goneo - Du machst das Web!
Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
Re: Mastermind programmieren
Autor: xabbuh [Beiträge: 1034]
Datum: 18.06.2009 15:23:41
Ich habe deinen Code mal etwas geändert:
public static boolean compareColorCodes(String generatedCode, String inputedCode) {
    int directHits = 0;
    HashSet indirectHits = new HashSet();
    boolean gameEnd = false;
    char c;
    for(int i = 0; i < generatedCode.length(); i++) {
        c = inputedCode.charAt(i);
        if(generatedCode.length() > i && generatedCode.charAt(i) == c) {
            directHits++;
        } else if(generatedCode.indexOf(c) >= 0) {
            indirectHits.add(c);
        }
    }
    if(directHits == 4) {
        gameEnd = true;
    } else {
        System.out.println("Direkte Treffer: " + directHits);
        System.out.println("Indirekte Treffer: " + indirectHits.size());
        gameEnd = false;
    }
    return gameEnd;
}
Zum Einen habe ich eine Überprüfung auf die String-Länge eingebaut, um IndexOutOfBoundsExeptions beim Aufruf von charAt() zu vermeiden und merke mir die bereits geprüften Zahlen in einem Set, so dass jede Zahl nur ein Mal für indirekte Treffer getestet wird.
Zum Abschicken deines Beitrags bitte die Schaltfläche "Abschicken" nur einmal anklicken und warten. Der Server braucht manchmal
einige Zeit, bis er den Beitrag in die Datenbank übernommen hat. Wenn du die Schaltfläche mehrmals drückst, erscheint dein Beitrag
auch mehrmals im Forum.
Bewerten Sie Ihren Webhosting-Provider
Wie zufrieden sind Sie mit Ihrem Webhosting-Provider? Gibt es Probleme beim Service, mit der Performance oder der Abrechnung?
Teilen Sie jetzt Ihre Erfahrungen mit anderen Webmastern und schreiben Sie eine Provider-Bewertung. Mit etwas Glück können Sie ein Apple iPad gewinnen!
Weitere Informationen und Teilnahme...