Hallo, ich brauche noch mal eure Hilfe
und es war ....
Ein text wird in eine ArrayList (zeile pro zeile) eingelesen (aber die zeile werden nicht auf der konsole angezeigt), aus dieser zeilen habe ich die Anzahl der wörtern und zeichen, so weit so gut
dann habe eine neue ArrayList (worterListe) eingelegt , die zeile in wörter geteilt und die worterListe gespeichert, diese List wird dann auf die Konsole angezeigt.
Nun möchte ich aus dieser ArrayList 'worterList' meine Statistik machen, sodass auf der Konsole , die doppelte wörtern angezeigt werden , sonder nur ein mal und die Anzahl
der Häufigkeit , also wie oft das Wort vorkommt.
Was muss ich da tun ? , noch mal eine For-schleife oder wäre besser ein if ?
Ist überhaupt sowass möglich? aus der selbe ArrayList eine Statistik zumachen ohne eine HashMap zu nehmmen??
Vielen Dank!
Ein text wird in eine ArrayList (zeile pro zeile) eingelesen (aber die zeile werden nicht auf der konsole angezeigt), aus dieser zeilen habe ich die Anzahl der wörtern und zeichen, so weit so gut
dann habe eine neue ArrayList (worterListe) eingelegt , die zeile in wörter geteilt und die worterListe gespeichert, diese List wird dann auf die Konsole angezeigt.
Nun möchte ich aus dieser ArrayList 'worterList' meine Statistik machen, sodass auf der Konsole , die doppelte wörtern angezeigt werden , sonder nur ein mal und die Anzahl
der Häufigkeit , also wie oft das Wort vorkommt.
Was muss ich da tun ? , noch mal eine For-schleife oder wäre besser ein if ?
Ist überhaupt sowass möglich? aus der selbe ArrayList eine Statistik zumachen ohne eine HashMap zu nehmmen??
Vielen Dank!
Java:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
public class Varios
{
public static void main(String[] args)
{
String line;
ArrayList<String> zeilen = new ArrayList<String>();
ArrayList<String> worterListe = new ArrayList<String>();
{
try
{
BufferedReader br = new BufferedReader(new FileReader("C:/Text.txt"));
while ((line = br.readLine()) != null)
{
zeilen.add(line);
}
br.close();
int anzahlWorte;
int anzahlZeichenOhneBlank;
int totalzz = 0; // Gesamte Anzahl von Zeichen zeigen
int totalwo = 0; // Gesamte Anzahl von Zeichen woertern
for (int i = 0; i < zeilen.size(); i++)
{
String zeile = zeilen.get(i);
anzahlWorte = zeile.split("\\s").length;
anzahlZeichenOhneBlank = zeile.replace(" ", "").length();
totalzz += anzahlZeichenOhneBlank;
totalwo += anzahlWorte;
}
// ab hier werden die Zeile in Worter zerteilt
for (String wortern : zeilen)
{
wortern.replaceAll("\\p{Punct}","");
String []wort = wortern.split("\\s");
for(String string : wort)
{
if (string != null && string.length()> 0)
worterListe.add(string);
}
}
//damit die ArrayList (woerter) auf der Konsole angezeigt werden kann
for (String stringwo : worterListe)
{
System.out.println(stringwo);
}
System.out.println("===========================");
System.out.println(" Ergebnis");
System.out.println("----------");
System.out.println("zeichen : " + totalzz);
System.out.println("zeichen : " + totalwo);
}
catch (FileNotFoundException e)
{
System.out.println(e.getMessage());
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
}
}