Word wheel: Difference between revisions
Content added Content deleted
(→{{header|jq}}: shorter solution) |
(New post.) |
||
Line 1,607: | Line 1,607: | ||
Task example:<syntaxhighlight lang="j"> wwhe'ndeokgelw' |
Task example:<syntaxhighlight lang="j"> wwhe'ndeokgelw' |
||
eke elk keg ken wok keel keen keno knee knew know kong leek week woke kneel knowledge</syntaxhighlight> |
eke elk keg ken wok keel keen keno knee knew know kong leek week woke kneel knowledge</syntaxhighlight> |
||
=={{header|Java}}== |
|||
<syntaxhighlight lang="java"> |
|||
import java.io.BufferedReader; |
|||
import java.io.IOException; |
|||
import java.io.InputStream; |
|||
import java.io.InputStreamReader; |
|||
import java.net.URI; |
|||
import java.util.function.Predicate; |
|||
public final class WordWheel { |
|||
public static void main(String[] args) throws IOException { |
|||
String wordWheel = "N D E" |
|||
+ "O K G" |
|||
+ "E L W"; |
|||
String allLetters = wordWheel.toLowerCase().replace(SPACE_CHARACTER, EMPTY_STRING); |
|||
String middleLetter = allLetters.substring(4, 5); |
|||
Predicate<String> correctWords = word -> { |
|||
if ( ! word.contains(middleLetter) || 3 > word.length() || word.length() > 9 ) { |
|||
return false; |
|||
} |
|||
for ( String letter : allLetters.split(EMPTY_STRING) ) { |
|||
word = word.replaceFirst(letter, EMPTY_STRING); |
|||
} |
|||
return word.isEmpty(); |
|||
}; |
|||
String url = "http://wiki.puzzlers.org/pub/wordlists/unixdict.txt"; |
|||
InputStream stream = URI.create(url).toURL().openStream(); |
|||
BufferedReader reader = new BufferedReader( new InputStreamReader(stream) ); |
|||
reader.lines().filter(correctWords).forEach(System.out::println); |
|||
} |
|||
private static final String EMPTY_STRING = ""; |
|||
private static final String SPACE_CHARACTER = " "; |
|||
} |
|||
</syntaxhighlight> |
|||
<pre> |
|||
eke |
|||
elk |
|||
keel |
|||
keen |
|||
keg |
|||
ken |
|||
keno |
|||
knee |
|||
kneel |
|||
knew |
|||
know |
|||
knowledge |
|||
kong |
|||
leek |
|||
week |
|||
wok |
|||
woke |
|||
</pre> |
|||
=={{header|JavaScript}}== |
=={{header|JavaScript}}== |