Wörterliste nach Wörtern mit u durchsuchen und diese auf der Konsole ausgeben lassen

Justice97

Mitglied
Hallo, ich möchte gerne ein pogramm schreiben aber meine Ausbildung ist schon 3 Jahre her. Eigentlich geht es nur darum, dass ich eine Seite gefunden hab mit allen deutschen Wörtern in einer Textdatei. Diese würde ich gerne nach wörtern die ein u an beliebiger Stelle enthalten filtern und auf der Konsole ausgeben lassen. Im Grunde müssen dass ja eigentlich nur mit paar befehlen funktionieren und der Klasse string. Kann mir jemand helfen das Gerüst aufzubauen?.
 
Probier mal:
Java:
File file = new File("Textdatei");
Files.lines(file.toPath()).filter(line -> line.indexOf('u') != -1).forEach(System.out::println);
 
Ich versuch das morgen mal danke. Die wörter sind ganz schön viel.wenn ich die da ranpaste würden die alle meter lang untereinander stehen. Geht das dann wenn ich in der letzten Zeile mit simekolon abschließe? Und kannst morgen auch nochmal hier rein schauen falls ich noch eine frage hab?
Probier mal:
Java:
File file = new File("Textdatei");
Files.lines(file.toPath()).filter(line -> line.indexOf('u') != -1).forEach(System.out::println);
 
1606643269879.png 1606643326272.png1606643269879.png1606643269879.pngDer Zeigt mir error an weist du wie ich das beheben kann ? den ersten fehler hab ich durch import java.io.file behoben hat er mir so vorgeschlagen
 
Bitte Code immer in Code-Tags posten (die Schaltfläche ganz links in der Toolbar hier im Editor verwenden).

Du musst den Code schon in eine Methode packen:
Java:
import java.io.File;
import java.nio.file.Files;

public class UWort {
    public static void main(String[] args) throws Exception {
        File file = new File("Textdatei");
        Files.lines(file.toPath()).filter(line -> line.indexOf('u') != -1).forEach(System.out::println);
    }
}

Übrigens: solltest Du große und kleine U finden wollen, kann die Bedingung zu line.toLowerCase().indexOf('u') != -1 abgeändert werden.
 
[CODE lang="java" highlight="11"]package U;

import java.nio.file.Files;

import java.io.File;

public class UWort {

public static void main(String[] args) throws Exception {
File file = new File("Unalt,Unangemessen,alt");
Files.lines(file.toPath()).filter(line -> line.toLowerCase().indexOf('u') != -1 .forEach(System.out:😛rintln);
}
}[/CODE]

In der zeile 11 mit flies,lines... zeigt er den fehler Syntax error, insert ")" to complete Expression an. Wie kann ich den beheben ?
 
Du hast nach dem -1 die schließende Klammer entfernt.
ok danke und in der konsole zeigt er mir diesen fehler an :
Exception in thread "main" java.nio.file.NoSuchFileException: Unalt,Unangemessen
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:120)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:292)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:345)
at java.base/java.nio.file.Files.lines(Files.java:4104)
at java.base/java.nio.file.Files.lines(Files.java:4196)
at U.UWort.main(UWort.java:11)
Wie kann ich das beheben ?
 
Du musst in Zeile 10 natürlich den Dateinamen angeben, in der die Wörter zu finden sind und nicht die Wörter selbst.
 
So lang ist die Liste auch wieder nicht. Speichere sie einfach als txt auf deinem Rechner ab. Sollte ja kein Problem sein.
 
Java:
import java.io.*;
import java.net.*;

public class UWort {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://netzmafia.de/software/wordlists/deutsch.txt");
        try(InputStreamReader isr = new InputStreamReader(url.openStream());
            BufferedReader reader = new BufferedReader(isr)) {

            reader.lines()
                .filter(line -> line.toLowerCase().indexOf('u') != -1)
                .forEach(System.out::println);
        }
    }

}
 
So lang ist die Liste auch wieder nicht. Speichere sie einfach als txt auf deinem Rechner ab. Sollte ja kein Problem sein.
Java:
package U;

import java.nio.file.Files;

import java.io.File;

public class UWort {

     public static void main(String[] args) throws Exception {
            File file = new File("deutsch");
            Files.lines(file.toPath()).filter(line -> line.toLowerCase().indexOf('u') != -1) .forEach(System.out::println);
        }
    }

Ich hab die datei deutsch genannt. Nun zeigt jedoch das an in der konsole an

Exception in thread "main" java.nio.file.NoSuchFileException: deutsch
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:120)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:292)
at java.base/java.nio.channels.FileChannel.open(FileChannel.java:345)
at java.base/java.nio.file.Files.lines(Files.java:4104)
at java.base/java.nio.file.Files.lines(Files.java:4196)
at U.UWort.main(UWort.java:11)
 
Dann heißt die Datei ggf. anders (ausgeblendeter Dateityp? Der Explorer zeigt ggf. die Endung nicht an) oder die Datei ist nicht im Arbeitsverzeichnis, in dem das Java Programm ausgeführt wird ....
 
Java:
import java.io.*;
import java.net.*;

public class UWort {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://netzmafia.de/software/wordlists/deutsch.txt");
        try(InputStreamReader isr = new InputStreamReader(url.openStream());
            BufferedReader reader = new BufferedReader(isr)) {

            reader.lines()
                .filter(line -> line.toLowerCase().indexOf('u') != -1)
                .forEach(System.out::println);
        }
    }

}
Alles klar danke das hat funktioniert. Kann Java auch nach adjektiven filtern ?
 
Zuletzt bearbeitet:
warum zweifel ? ich meine die liste ist ganz schön lang also hast du villeicht eine andere seite mit allen deutschen wörtern ?
Machen wir einfach einmal ein paar Stichproben, ob die Wörter auf Deiner Liste drauf sind. Sind sie es nicht, dann ist zumindest bewiesen, das Deine Liste nicht vollständig ist:
Gebirgsjägerfeldmütze
Kapitänsgehilfenutensilienkiste

Sollten diese Worte entgegen meiner Erwartungshaltung doch auf Deiner Liste gewesen sein, so werden Dir ggf. andere noch weitere Worte nennen ...

Aber nur einmal paar Punkte zum Nachdenken:
- So eine Liste mit vielen Worten gab es früher ganz verbreitet. Eine Variante ist bekannt als "Brockhaus Enzyklopädie" - das waren dann z,B., 30 große, dicke Bücher. Daher ist das "lange Liste" wohl relativ zu sehen ....
- Im Deutschen ist es möglich, jederzeit neue Wörter durch zusammensetzen zu bilden. Die beiden Beispiele zeigen dies recht deutlich.
- Deutsch ist eine lebendige Sprache, d.h. es kommen ständig neue Worte hinzu. Bekannt sind z.B. Worte wie "googeln" oder "googlen".

Somit ist eine finale, endgültige Liste schlich unmöglich.

Dann die Frage nach den Adjektiven: Das ist so trivial doch gar nicht machbar. Stell Dir doch einfach einmal die Frage: Was ist ein Adjektiv? Mit welchen Regeln kannst Du dies (sicher) feststellen? Und dann bei den Regeln einfach immer auch nach Ausnahmen und Co fragen ...

Und so Ideem wie auf Gross/Kleinschreibung zu achten: Das sehe ich problematisch. Das setzt schlicht voraus, dass es hier eine entsprechende Bedeutung hat. Aber spätestens beim Lesen hier im Forum wird deutlich, dass dies etwas ist, das wohl als Regel schlicht nicht mehr tauglich ist.
 
Machen wir einfach einmal ein paar Stichproben, ob die Wörter auf Deiner Liste drauf sind. Sind sie es nicht, dann ist zumindest bewiesen, das Deine Liste nicht vollständig ist:
Gebirgsjägerfeldmütze
Kapitänsgehilfenutensilienkiste

Sollten diese Worte entgegen meiner Erwartungshaltung doch auf Deiner Liste gewesen sein, so werden Dir ggf. andere noch weitere Worte nennen ...

Aber nur einmal paar Punkte zum Nachdenken:
- So eine Liste mit vielen Worten gab es früher ganz verbreitet. Eine Variante ist bekannt als "Brockhaus Enzyklopädie" - das waren dann z,B., 30 große, dicke Bücher. Daher ist das "lange Liste" wohl relativ zu sehen ....
- Im Deutschen ist es möglich, jederzeit neue Wörter durch zusammensetzen zu bilden. Die beiden Beispiele zeigen dies recht deutlich.
- Deutsch ist eine lebendige Sprache, d.h. es kommen ständig neue Worte hinzu. Bekannt sind z.B. Worte wie "googeln" oder "googlen".

Somit ist eine finale, endgültige Liste schlich unmöglich.

Dann die Frage nach den Adjektiven: Das ist so trivial doch gar nicht machbar. Stell Dir doch einfach einmal die Frage: Was ist ein Adjektiv? Mit welchen Regeln kannst Du dies (sicher) feststellen? Und dann bei den Regeln einfach immer auch nach Ausnahmen und Co fragen ...

Und so Ideem wie auf Gross/Kleinschreibung zu achten: Das sehe ich problematisch. Das setzt schlicht voraus, dass es hier eine entsprechende Bedeutung hat. Aber spätestens beim Lesen hier im Forum wird deutlich, dass dies etwas ist, das wohl als Regel schlicht nicht mehr tauglich ist.
Kennst du eine liste wo alle aktuellen zum mindest aufgeführt sind im internet ?
 
Weist du zufällig ob es so eine liste im internet gibt ? Ich hab bis jetzt dann nur unvollständige gefunden
Und kennst du dich zufällig auch mit Android Studio aus ? Ich kann den Android emulator Hypervisor nicht installieren, um die App auszuführen. Ich wollte nämlich mal probieren eine app zu schreiben. Die Sprache ist auch Java. Hab mir Android Studio zusätzlich gedownloadet um auch apps zu pogrammieren, was ja nur mit eclipse nicht geht oder?
Der Fehlercode verweist mich auf diese Internetseite: https://github.com/google/android-emulator-hypervisor-driver-for-amd-processors. Dort steht ich muss die aktuellste version downloaden ganz unten. Jedoch habe ich de schon.
Beim installieren zeigt er mr diesen fehlercode:

Preparing "Install Android Emulator Hypervisor Driver for AMD Processors (installer) (revision: 1.6.0)".
Warning: Package "com.android.repository.impl.generated.v1.RemotePackage@8ea227fd" (extras;google;Android_Emulator_Hypervisor_Driver) should be installed in
"C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver" but
it already exists.
Installing in "C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver-2" instead.
Downloading https://dl.google.com/android/repository/gvm-windows_v1_6_0.zip
"Install Android Emulator Hypervisor Driver for AMD Processors (installer) (revision: 1.6.0)" ready.
Installing Android Emulator Hypervisor Driver for AMD Processors (installer) in C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver-2
"Install Android Emulator Hypervisor Driver for AMD Processors (installer) (revision: 1.6.0)" complete.
"Install Android Emulator Hypervisor Driver for AMD Processors (installer) (revision: 1.6.0)" finished.
Parsing C:\Users\HP\AppData\Local\Android\Sdk\build-tools\30.0.2\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\emulator\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver-2\package.xml
Warning: Observed package id 'extras;google;Android_Emulator_Hypervisor_Driver' in inconsistent location 'C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver-2' (Expected 'C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver')
Warning: Already observed package id 'extras;google;Android_Emulator_Hypervisor_Driver' in 'C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver'. Skipping duplicate at 'C:\Users\HP\AppData\Local\Android\Sdk\extras\google\Android_Emulator_Hypervisor_Driver-2'
Parsing C:\Users\HP\AppData\Local\Android\Sdk\patcher\v4\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\platform-tools\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\platforms\android-30\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\sources\android-30\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\system-images\android-30\google_apis\x86\package.xml
Parsing C:\Users\HP\AppData\Local\Android\Sdk\tools\package.xml
Android SDK is up to date.
Running Android Emulator Hypervisor Driver for AMD Processors installer
[SC] ControlService FEHLER 1062:

Der Dienst wurde nicht gestartet.


[SC] DeleteService ERFOLG
[SC] StartService NICHT ERFOLGREICH, Fehler 4294967201.
Android Emulator Hypervisor Driver for AMD Processors installation failed. To install Android Emulator Hypervisor Driver for AMD Processors follow the instructions found at: https://github.com/google/android-emulator-hypervisor-driver-for-amd-processors
Done
 
Nein, Desktop Applikationen lassen sich nicht so einfach 1:1 übersetzen. Es gibt diverse Möglichkeiten, so hat Gluon für JavaFX einiges im Angebot und für Swing gibt es z.B. http://www.creamtec.com/products/ajaxswing/solutions/java_swing_ui_on_ipad.html aber das ist nichts zu dem ich Dir raten würde ....

Du solltest Dir das von Grund auf aneignen, damit Du ein generelles Verständnis bekommst, daher: Ja, nimm Dir das Android Studio und lerne die Erstellung von Android Apps von Grund auf so dass Du ein gewisses Verständnis bekommst, was da überhaupt so alles passiert ...
 
Nein, Desktop Applikationen lassen sich nicht so einfach 1:1 übersetzen. Es gibt diverse Möglichkeiten, so hat Gluon für JavaFX einiges im Angebot und für Swing gibt es z.B. http://www.creamtec.com/products/ajaxswing/solutions/java_swing_ui_on_ipad.html aber das ist nichts zu dem ich Dir raten würde ....

Du solltest Dir das von Grund auf aneignen, damit Du ein generelles Verständnis bekommst, daher: Ja, nimm Dir das Android Studio und lerne die Erstellung von Android Apps von Grund auf so dass Du ein gewisses Verständnis bekommst, was da überhaupt so alles passiert ...
Danke für deine Hilfe. Hab wohl nicht geantwortet weil ich keine Fragen mehr hatte oder aufgegeben habe es weiter zu verfolgen.
 

Zurück
Oben