Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Arbeiten mit Vector » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): [1] 2 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Arbeiten mit Vector
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Lycaner
Eroberer


Dabei seit: 17.02.2013
Beiträge: 56

Arbeiten mit Vector Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi, ich muss wieder in Java ein Programm schreiben und komme wieder nicht weiter.
Die Aufgabenstellung ist, schreiben sie ein Programm, dass aus einer Datei einen Textabschnitt einliest. Dann alle Satzzeichen entfernt und die Wörter sortiert.
Bis jetzt habe ich folgendes geschrieben:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
public void leseDaten(String dateiname) {
       Vector new_datei=new Vector();
       File Datei = new File(dateiname);
       try {
       BufferedReader br = new BufferedReader(new FileReader(Datei));
       
       String line = null;
      
       while ((line = br.readLine()) != null) {
            if(line.contains("*** START OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***")){
               String woerter[] =line.split(" "); 
               new_datei.add(woerter[]); /***Wie kann ich hier die einzelne Wörter dem Vector zuführen?***/
            }
            if(line.contains("*** END OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***"))
                break;
           
       }
        
       
       } catch (IOException e) {
                System.out.println("Datei " + dateiname + " konnte nicht gelesen werden!");
            } 
   } 
}

Wie kann ich die einzelnen Wörter zu meinem Vector zufügen?
19.07.2013 14:41 Lycaner ist offline Beiträge von Lycaner suchen Nehmen Sie Lycaner in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
for (String wort: woerter) {
    new_datei.add(wort);
} 

In anderen Sprachen findet man dieses Konstrukt auch als foreach. Es ist speziell zum Durchlaufen von arrays, alternativ ginge es natürlich auch mit einer normalen for Schleife.

__________________
Syntax Highlighting fürs Board (Link)
19.07.2013 14:53 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Airblader Airblader ist männlich
Doppel-As


Dabei seit: 03.03.2013
Beiträge: 138
Herkunft: München

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Denkbar wäre auch

code:
1:
Collections.addAll(new_datei, woerter);


Zu der von eulersche Zahl vorgeschlagenen "enhanced for-loop" (die hier übrigens durchaus genauso geeignet und gebräuchlich ist) würde ich noch anmerken, dass sie nicht nur für Arrays möglich ist, sondern auch für Collections (also Listen, Vektoren, …).

__________________
The best thing about a boolean is that even if you're wrong, you're only off by a bit.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Airblader: 19.07.2013 19:48.

19.07.2013 19:43 Airblader ist offline Beiträge von Airblader suchen Nehmen Sie Airblader in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Collections.addAll kannte ich noch nicht, danke für den Tipp.

code:
1:
2:
3:
if(line.contains("*** START OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***")){
    //Wörter an Array anfügen
}

Du willst die Wörter nur dann an den Vector hängen, wenn die Zeile "START OF THIS PROJECT..." beinhaltet? Ist das wirklich so beabsichtigt? verwirrt

__________________
Syntax Highlighting fürs Board (Link)
19.07.2013 21:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Lycaner
Eroberer


Dabei seit: 17.02.2013
Beiträge: 56

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein, es ist ein langer Text aber ich muss nur den Abschnitt bearbeiteten, der zwischen der Zeile "*** START OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA *** und *** END OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***.
Deswegen dachte ich, ich lese den ganze Text ein und zerlege nur den Teil, den ich brauche in einzelnen Wörter oder geht es so nicht?
20.07.2013 09:09 Lycaner ist offline Beiträge von Lycaner suchen Nehmen Sie Lycaner in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bisher zerlegst du nur die eine Zeile, die den Start markiert.
Du brauchst eine Variable, in der du dir merkst, ob die Startzeile schon vorkam. Wenn diese Variable auf true ist, dann kannst du zerlegen:
Code nicht getestet:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
String line = null;
boolean zerlegen = false;    //zu Beginn wird nicht zerlegt			
while ((line = br.readLine()) != null) {
	if(zerlegen){ //wenn bereits START OF PROJECT... vorkam
		//hier musst du in line noch Satzzeichen entfernen
		String woerter[] =line.split(" "); 
		Collections.addAll(new_datei, woerter);
	}
    if (line.contains("*** START OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***"))
    	zerlegen = true;
    if (line.contains("*** END OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***"))
        break;
}


__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 20.07.2013 11:29.

20.07.2013 11:29 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Lycaner
Eroberer


Dabei seit: 17.02.2013
Beiträge: 56

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke,
ich wollte testen, ob das Programm bis dahin läuft aber bekomme immer die Meldung
Datei pg2499 konnte nicht gelesen werden!
So sieht mein Main aus. Die Textdatei (typ:textdokument)heißt pg2499 liegt auch in dem Ordner, wo der Projekt liegt.
Was kann man noch falsch machen?
code:
1:
2:
3:
4:
5:
6:
 public static void main(String[] args) {
           Klasse text = new Klasse();
           text.leseDaten("pg2499");
      }

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Lycaner: 20.07.2013 12:03.

20.07.2013 12:02 Lycaner ist offline Beiträge von Lycaner suchen Nehmen Sie Lycaner in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du musst den absoluten Pfad angeben:
entweder so
code:
1:
leseDaten("C:\\unterordner\\datei.txt");

oder so, um das Verzeichnis zu ermitteln, in dem das Projekt sich befindet:
code:
1:
leseDaten(System.getProperty("user.dir") + "\\datei.txt");


__________________
Syntax Highlighting fürs Board (Link)
20.07.2013 16:53 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Lycaner
Eroberer


Dabei seit: 17.02.2013
Beiträge: 56

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Oh man ein Problemm weg, dazu kommen zwei neu(
Ich muss diese Vector alphabetisch sortieren und wenn ein Wort doppelt vorkommt, soll der Zähler für den Wort um eins steigen.
Deswegen habe ich eine neue Klasse eingeführt

code:
1:
2:
3:
4:
5:
6:
7:
8:
public class Zeichenkette {
      String zeichenkette;
      int anzahl;
    public Zeichenkette(String zeichenkette){
        this.zeichenkette=zeichenkette;
        anzahl=1;
    }  }

Dann habe ich den Vector angepasst
code:
1:
2:
Vector<Zeichenkette> new_datei = new Vector();

Aber jetzt funktionier das zufügen von String nicht mehr(
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
public class Klasse {

    Vector<Zeichenkette> new_datei = new Vector();

    public void leseDaten(String dateiname) {

        File Datei = new File(dateiname);
        try {
            BufferedReader br = new BufferedReader(new FileReader(Datei));

            String line = null;
            boolean zerlegen = false;

            while ((line = br.readLine()) != null) {
                if (zerlegen) {
                    String woerter[] = line.split(" ");
                    for (int i = 0; i < woerter.length; i++) {
                        String wort = woerter[i];
                        if (wort.charAt(wort.length() - 1) == '.'
                                || wort.charAt(wort.length() - 1) == ','
                                || wort.charAt(wort.length() - 1) == '?'
                                || wort.charAt(wort.length() - 1) == '!'
                                || wort.charAt(wort.length() - 1) == ';'
                                || wort.charAt(wort.length() - 1) == ':') {
                            wort = wort.substring(0, wort.length() - 1);
                        }
                        wort = wort.toLowerCase();
                        new_datei.add(wort);

                    }
                    if (line.contains("*** START OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***")) {
                        zerlegen = true;
                    }
                    if (line.contains("*** END OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***")) {
                        break;
                    }
                }
            }
        } catch (IOException e) {
            System.out.println("Datei " + dateiname + " konnte nicht gelesen werden!");
        }
    }

    public void sortieren(Vector<Zeichenkette> new_datei) {
        for (int i = 0; i < new_datei.size(); i++) {
            Zeichenkette tem = null;
            Zeichenkette tem2 = new_datei.get(i);
            if (tem.equals(tem2)) {
                tem.anzahl++;
            }
           /* if (tem.equals(tem2)) {
                Zeichenkette tem3 = tem;
                tem = tem2;
                tem2 = tem3;
            }*/
        }

    }
}

Und noch eine Frage, bei der Funktion equals, woher weiß ich welcher String zu erst kommt?
20.07.2013 18:07 Lycaner ist offline Beiträge von Lycaner suchen Nehmen Sie Lycaner in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
                        if (wort.charAt(wort.length() - 1) == '.'
                                || wort.charAt(wort.length() - 1) == ','
                                || wort.charAt(wort.length() - 1) == '?'
                                || wort.charAt(wort.length() - 1) == '!'
                                || wort.charAt(wort.length() - 1) == ';'
                                || wort.charAt(wort.length() - 1) == ':') {
                            wort = wort.substring(0, wort.length() - 1);

-umständlich
-was, wann ein anderes Zeichen vorkommt?
-was, wenn das Zeichen nicht am Ende steht, z.B. bei Anführungsstrichen?

mein Vorschlag:
code:
1:
2:
line = line.replaceAll("[^A-Za-z ]", ""); //löscht alles außer Buchstaben und Leerzeichen
String woerter[] = line.split(" ");


Zum Sortieren: schreibe eine Funktion compareTo(Zeichenkette vergleich) in die Klasse Zeichenkette (vergleich darf auch anders heißen, sonst genau diesen Kopf).
Dann kannst du das Sortieren mit Collections.sort() machen.

Wenn dein Vector den Typ Zeichenkette hat, musst du auch eine Zeichenkette hinzufügen, keinen String.

Zitat:
Und noch eine Frage, bei der Funktion equals, woher weiß ich welcher String zu erst kommt?

spielt es denn eine Rolle, ob string1 == string2 ist oder string2 == string1? Aber der erstgenannte string ist der, für den die Funktion zur Gleichheitsprüfung aufgerufen wird.

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 20.07.2013 18:41.

20.07.2013 18:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Lycaner
Eroberer


Dabei seit: 17.02.2013
Beiträge: 56

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dumme Frage
Wenn ich jetzt eine Funktion in die Klasse Zeichenkette schreibe und der Funktion nur ein Objekt übergebe, wie kann ich es dann sortieren?
Ich mein z.B
Zeichenkette xy= new Zeichenkette("der");
also hat der Objekt xy nur ein String "der" und eine zahl =1
Wie kann ich hier etwas sortieren?
20.07.2013 19:31 Lycaner ist offline Beiträge von Lycaner suchen Nehmen Sie Lycaner in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
Collections.sort(new_datei); //fertige Sortierfunktion, verwendet compareTo() der Klasse Zeichenkette


public class Zeichenkette implements Comparable<Zeichenkette>{ //Instanzen der Klasse können vergleichen werden
//...
    public int compareTo(Zeichenkette vergleich){ //mit dieser Funktion
    	return this.zeichenkette.compareToIgnoreCase(vergleich.zeichenkette); //lässt die eigentliche Arbeit von der Klasse String erledigen, da ich faul bin :)
    }
}


__________________
Syntax Highlighting fürs Board (Link)
20.07.2013 19:35 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Lycaner
Eroberer


Dabei seit: 17.02.2013
Beiträge: 56

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das ist nicht genau, dass was ich brauche. Weil ich nicht nur den Vector sortieren muss, sondern auch die Wörter zählen muss, wie oft die vorkommen.
20.07.2013 21:02 Lycaner ist offline Beiträge von Lycaner suchen Nehmen Sie Lycaner in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das Einrücken des Quellcodes sah bei mir in eclipse anders aus traurig
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
public class Zeichenkette implements Comparable<Zeichenkette>{
      String zeichenkette;
      int anzahl;
    public Zeichenkette(String zeichenkette){
        this.zeichenkette = zeichenkette;
        anzahl = 1;
    }
    
    @Override
    public String toString(){
    	return this.zeichenkette + "   " + anzahl;
    }
    
    public int compareTo(Zeichenkette vergleich){
    	return this.zeichenkette.compareToIgnoreCase(vergleich.zeichenkette);
    }
    
    public boolean equals(String s){
    	return this.zeichenkette.equalsIgnoreCase(s);    	
    }

	public void increment() {
		this.anzahl++;
	}
}




public class Klasse {

    Vector<Zeichenkette> new_datei = new Vector<Zeichenkette>();

    public void leseDaten(String dateiname) {

        File Datei = new File(dateiname);
        try {
            BufferedReader br = new BufferedReader(new FileReader(Datei));

            String line = null;
            boolean zerlegen = false;

            while ((line = br.readLine()) != null) {
               if (line.contains("*** END OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***")) {
            	   break;
               }
               if (zerlegen) {
					line = line.replaceAll("[^A-Za-z ]", "");
					String woerter[] = line.split(" "); 
					for(String wort : woerter){
                        int index;
                        for(index = 0; index < new_datei.size(); index++){
                        	if (new_datei.elementAt(index).equals(wort)) {
                        		break;                      	
                        	}
                        }
						if (index == new_datei.size()) new_datei.add(new Zeichenkette(wort));
						else new_datei.elementAt(index).increment();
					}

                }
                if (line.contains("*** START OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***")) {
                    zerlegen = true;
                }
            }
        } 
        catch (IOException e) {
            System.out.println("Datei " + dateiname + " konnte nicht gelesen werden!");
        }
        Collections.sort(new_datei);
    }

	public void schreibe() {
		for(Zeichenkette z : new_datei)
			System.out.println(z);
	}

}




public class main {
	public static void main(String[] args)
	{
		Klasse k = new Klasse();
		k.leseDaten(System.getProperty("user.dir") + "\\datei.txt");
		k.schreibe();
	}
}


__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 20.07.2013 21:35.

20.07.2013 21:10 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Airblader Airblader ist männlich
Doppel-As


Dabei seit: 03.03.2013
Beiträge: 138
Herkunft: München

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

eulerscheZahls Programm ist natürlich vollkommen in Ordnung und ich hoffe, er nimmt es mir nicht böse, wenn ich meine Alternative dazu einstelle (irgendwas muss man ja tun, während die Freundin im Bad ist…).

Insbesondere verwende ich keine eigene Klasse, sondern eine TreeMap, die für genau sowas geschaffen ist. Dann muss ich mir um das (alphabetische!) Sortieren keine Gedanken machen – wenn ich nach Anzahl der Vorkommen sortieren will, dann natürlich schon. Das basiert auf der Annahme, dass die Verwendung von Vector nicht Pflicht war.
Ansonsten habe ich bei mir auch alles auf Englisch gemacht, weil das zum Einen üblich ist, zum anderen mage ich es nicht, zwei Sprachen zu mischen ("line" versus "woerter").
Und ein paar Dinge habe ich natürlich ein klein wenig anders aufgezogen. Wie gesagt, alles nur um vielleicht mal zu sehen, dass man sowas auf verschiedene Arten lösen kann.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;


public class WordCounter {

    private static Map<String, Integer> countedWords = new TreeMap<String, Integer>();

    private static void putWordIntoMap( String word ) {
        String lowercaseWord = word.trim().toLowerCase();

        // we don't want to count spaces
        if( lowercaseWord.isEmpty() ) {
            return;
        }

        int currentCount = 0;
        if( countedWords.containsKey( lowercaseWord ) ) {
            currentCount = countedWords.get( lowercaseWord );
        }

        countedWords.put( lowercaseWord, currentCount + 1 );
    }

    public static void readData (String filename) {
        countedWords.clear();

        File file = new File( filename );
        BufferedReader reader = null;

        try {
            reader = new BufferedReader( new FileReader( file ) );

            String line;
            boolean skipLine = true;

            while( ( line = reader.readLine() ) != null ) {
                    skipLine &= !line.contains( "*** START OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***" );
                    if( skipLine ) {
                        continue;
                    }

                    if( line.contains( "*** END OF THIS PROJECT GUTENBERG EBOOK SIDDHARTHA ***" ) ) {
                        break;
                    }

                    line = line.replaceAll( "[^A-Za-z ]", "" );

                    String words[] = line.split( " " );
                    for( String word : words ) {
                        putWordIntoMap( word );
                    }
            }

        } catch( IOException e ) {
            System.out.println( "Could not read file " + filename );
        } finally {
            try {
                reader.close();
            } catch ( IOException e ) {
                System.out.println( "Exception while closing reader" );
            }
        }
    }

    public static void writeData() {
        for( Map.Entry<String, Integer> entry : countedWords.entrySet() ) {
            System.out.println( entry.getValue() + " : " + entry.getKey() );
        }
    }

    public static void main( String[] args ) {
        readData( "resources/datei.txt" );
        writeData();
    }

}


__________________
The best thing about a boolean is that even if you're wrong, you're only off by a bit.
20.07.2013 23:16 Airblader ist offline Beiträge von Airblader suchen Nehmen Sie Airblader in Ihre Freundesliste auf
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Arbeiten mit Vector