Seite 6 von 25 ErsteErste ... 234567891016 ... LetzteLetzte
Ergebnis 76 bis 90 von 369

Thema: Ein Narr lernt Java

  1. #76
    Macht Musik Avatar von Peregrin_Tooc
    Registriert seit
    21.05.05
    Ort
    St. Ingbert
    Beiträge
    11.144
    Andererseits ist die Initialisierung der Datenwerte schöner, wenn du dem "e" eine "1" zuweist als wenn du dem fünften Eintrag auf "1" setzt.
    Genau das ist der Punkt. Außerdem sind das ja alles nur Spielereien, aber wenn ich 5000 Objekten jeweils ein anderes Objekt zuordnen will, dann ist die Hashmap die Methode der Wahl, nicht zwei Arrays Hinzu kommt, das eine Hashmap in kurzer konstanter Zeit sucht, wenn ich das richtig verstanden habe, im Gegensatz zur Lösung mit zwei Arrays.
    Zitat Zitat von Leonard Bernstein
    This will be our reply to violence:
    to make music more intensely,
    more beautifully,
    more devotedly than ever before.
    Meine Stories:
    Civ VI aus der Sicht von Civ IV BTS, englischer Weltraumsieg auf König
    Der Erste Kaiser wieder aufgenommen

  2. #77
    Minion Avatar von Tzu Iop
    Registriert seit
    28.10.05
    Ort
    Im EG ohne Aufzug *schulterzuck*
    Beiträge
    6.377
    Bei festen Zuordnungen kann man die sich auch im Objekt merken.

    Das Problem der Zwei-Array-Lösung ist doch, wie ich bestimme, welchen Index meine Objektausprägung hat. Das läuft da nicht in konstanter Zeit.
    Papoy!

  3. #78
    Macht Musik Avatar von Peregrin_Tooc
    Registriert seit
    21.05.05
    Ort
    St. Ingbert
    Beiträge
    11.144
    Das meine ich.
    Zitat Zitat von Leonard Bernstein
    This will be our reply to violence:
    to make music more intensely,
    more beautifully,
    more devotedly than ever before.
    Meine Stories:
    Civ VI aus der Sicht von Civ IV BTS, englischer Weltraumsieg auf König
    Der Erste Kaiser wieder aufgenommen

  4. #79
    Registrierter Benutzer Avatar von Rashil
    Registriert seit
    30.10.05
    Beiträge
    180
    Zitat Zitat von Tzu Iop Beitrag anzeigen
    Bei festen Zuordnungen kann man die sich auch im Objekt merken.
    Wie wäre es mit dem Einsatz eines Enums? Die Daten sollen, soweit ich das jetzt verstanden habe, konstant bleiben.
    "Dann geh. Es gibt andere Welten als diese." - John "Jake" Chambers

  5. #80
    Macht Musik Avatar von Peregrin_Tooc
    Registriert seit
    21.05.05
    Ort
    St. Ingbert
    Beiträge
    11.144
    Was ist ein enum?
    Zitat Zitat von Leonard Bernstein
    This will be our reply to violence:
    to make music more intensely,
    more beautifully,
    more devotedly than ever before.
    Meine Stories:
    Civ VI aus der Sicht von Civ IV BTS, englischer Weltraumsieg auf König
    Der Erste Kaiser wieder aufgenommen

  6. #81
    Beyond Mars Avatar von [VK]
    Registriert seit
    05.02.08
    Beiträge
    59.538
    Im Grunde definierst du nur das A = 1, B=2 etc ist und dann kannst du A wie die 1 Benutzen

  7. #82
    Macht Musik Avatar von Peregrin_Tooc
    Registriert seit
    21.05.05
    Ort
    St. Ingbert
    Beiträge
    11.144
    gehts ein bisschen genauer?
    Zitat Zitat von Leonard Bernstein
    This will be our reply to violence:
    to make music more intensely,
    more beautifully,
    more devotedly than ever before.
    Meine Stories:
    Civ VI aus der Sicht von Civ IV BTS, englischer Weltraumsieg auf König
    Der Erste Kaiser wieder aufgenommen

  8. #83
    Minion Avatar von Tzu Iop
    Registriert seit
    28.10.05
    Ort
    Im EG ohne Aufzug *schulterzuck*
    Beiträge
    6.377
    Zitat Zitat von Rashil Beitrag anzeigen
    Wie wäre es mit dem Einsatz eines Enums? Die Daten sollen, soweit ich das jetzt verstanden habe, konstant bleiben.
    Afair können Enums keine Zuordnung, außer ich baue irgendwo eine switch-Anweisung dazu. Eigentlich ist das nur eine Aufzählung von Zuständen und da man jetzt endlich auch über Strings switch kann, brauch man die eigentlich nicht mehr.
    Papoy!

  9. #84
    Macht Musik Avatar von Peregrin_Tooc
    Registriert seit
    21.05.05
    Ort
    St. Ingbert
    Beiträge
    11.144


    ich versteh kein Wort
    Zitat Zitat von Leonard Bernstein
    This will be our reply to violence:
    to make music more intensely,
    more beautifully,
    more devotedly than ever before.
    Meine Stories:
    Civ VI aus der Sicht von Civ IV BTS, englischer Weltraumsieg auf König
    Der Erste Kaiser wieder aufgenommen

  10. #85
    Minion Avatar von Tzu Iop
    Registriert seit
    28.10.05
    Ort
    Im EG ohne Aufzug *schulterzuck*
    Beiträge
    6.377
    Enumbeispiel:
    PHP-Code:
    enum Farbe ROTGELBGRUEN }

    class 
    Ampel {
    private 
    Farbe anzeige Farbe.GRUEN;

    public 
    void changeAnzeige() {
        switch(
    anzeige) {
            case(
    Farbe.GRUEN) : anzeige Farbe.GELB; break;
            case(
    Farbe.GELB) : anzeige Farbe.ROT; break;
            case(
    Farbe.ROT) : anzeige Farbe.GRUEN; break;

    Geändert von Tzu Iop (19. Mai 2012 um 18:20 Uhr)
    Papoy!

  11. #86
    Macht Musik Avatar von Peregrin_Tooc
    Registriert seit
    21.05.05
    Ort
    St. Ingbert
    Beiträge
    11.144


    Ich versteh immer noch kein Wort. Was macht switch nochmal? Das war ne bestimmte Fallunterscheidung, oder?
    Zitat Zitat von Leonard Bernstein
    This will be our reply to violence:
    to make music more intensely,
    more beautifully,
    more devotedly than ever before.
    Meine Stories:
    Civ VI aus der Sicht von Civ IV BTS, englischer Weltraumsieg auf König
    Der Erste Kaiser wieder aufgenommen

  12. #87
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757


    Zu beachten ist das "break" im jeden Fall. Ohne das würde auch immer der unmittelbar folgende Fall mit ausgewertet.


    Enums erlauben Typsicherheit bei Konstanten. Wenn man zum Beipiel ein Enum mit Farben hat (wie oben) und etwa ein Enum mit Wochentagen, dann kann man eine Funktion schreiben, die z.B. eine Farbe als Argument erwartet. Und es wird tatsächlich nur Farben als gültige Werte zugelassen, während Wochentage ausgeschlossen sind.

    Ohne Enums müsste man sowas machen:

    ROT = 1
    BLAU = 2
    usw.

    Montag = 1
    Dienstag = 2
    usw.

    d.h. man numeriert das so durch. Tpysicherheit ist somit nicht mehr gegeben, da jede Methode, die eine solche Farbe als Parameter akzeptiert, auch einen Wochentag akzeptieren würde (da beide vom Typ int sind).

  13. #88
    Registrierter Benutzer Avatar von Rashil
    Registriert seit
    30.10.05
    Beiträge
    180
    Und man kann dem Enum mehr als eine Eigenschaft zuweisen. Also z.B. könntest du dem Buchstaben A die Information mitgeben, das er an der ersten Stelle des Alphabets steht und das er im Scrabble 1 Punkt (?) wert ist.
    Kannst ja mal einen Blick auf die Tutorial-Seiten von Sun .. äh Oracle werfen.

    http://docs.oracle.com/javase/tutori...vaOO/enum.html
    "Dann geh. Es gibt andere Welten als diese." - John "Jake" Chambers

  14. #89
    Macht Musik Avatar von Peregrin_Tooc
    Registriert seit
    21.05.05
    Ort
    St. Ingbert
    Beiträge
    11.144
    Project Euler ist einfach toll.

    PHP-Code:
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.util.HashMap;

    //How many triangle words does the list of common English words contain?
    public class Prb042_sltn {

        
    /**
         * @param args
         */
        
    public static void main(String[] args) {
            
    HashMap<IntegerIntegertrianglenumbers = new HashMap<IntegerInteger>();
            
    String str ""line="";
            try {
                
    BufferedReader input = new BufferedReader(new FileReader("bin/words.txt"));
                
    line input.readLine();    
            } 
            catch (
    Exception e) {
                
    // TODO Auto-generated catch block
                
    e.printStackTrace();
            }
            
    String[] words line.split("\",\"");
            
    words[0]=words[0].substring(1);
            
    int count 0n=;
            for(
    int k=1<= nk++){
                
    trianglenumbers.put(kk*(k+1)/2);
            }    
            for(
    int k=0words.lengthk++){    
                
    int value StringCharMethods.wordvalue(words[k]);
                while(
    n*(n+1)/<= value){
                    
    trianglenumbers.put(nn*(n+1)/2);
                    
    n++;
                }
                if(
    trianglenumbers.containsValue(value)){
                    
    count++;
                    
    //System.out.println(words[k]+" is the "+count+". triangle word and it's value is "+value);
                
    }
            }
            
    System.out.print(count);
        }

    Zitat Zitat von Leonard Bernstein
    This will be our reply to violence:
    to make music more intensely,
    more beautifully,
    more devotedly than ever before.
    Meine Stories:
    Civ VI aus der Sicht von Civ IV BTS, englischer Weltraumsieg auf König
    Der Erste Kaiser wieder aufgenommen

  15. #90
    Pirat Avatar von Flati
    Registriert seit
    05.12.03
    Beiträge
    10.563
    Zitat Zitat von Peregrin_Tooc Beitrag anzeigen


    Ich versteh immer noch kein Wort. Was macht switch nochmal? Das war ne bestimmte Fallunterscheidung, oder?
    Kannst anstatt switch auch ein "if else" Konstrukt verwenden.
    if(..) {
    } if else(..){
    ..
    } if else(..){
    ..
    }

    Mal so als Hinweis:
    Bei einer Stringverkettung (insbesondere einer Schleife wo man nicht weiß wie groß die ist) nimmt man einen StringBuilder mit
    StringBuilder builder = StringBuilder("alterString");
    builder.append(weitererString);

    und nicht "alterString += weitererString"
    Sonst rennt man ganz schnell in ein RAM Problem rein.

    und zu Enums
    Wer Rechtschreibfehler findet darf diese behalten :)

    Original geschrieben von robertinho:
    "Asterix und Flati stehen für solide Kompetenz und Verlässlichkeit."

Seite 6 von 25 ErsteErste ... 234567891016 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •