words[i] ist ein String. Du vergleichst das ganze Wort mit dem Anfangsbuchstaben.
Nutz stattdessen die folgende Methode:
String#startsWith(String)
Das 'else if'-Statement brauchst du übrigens nicht.
words[i] ist ein String. Du vergleichst das ganze Wort mit dem Anfangsbuchstaben.
Nutz stattdessen die folgende Methode:
String#startsWith(String)
Das 'else if'-Statement brauchst du übrigens nicht.
Mit den doppelten Doppelpunkten kannst du eine Methode weitergeben, die den selben Return-Type und dieselben Parameter hat, wie die Methode des in der Stream-Methode verlangtem funktionalem Interface.
Ein funktionales Interface, hat immer nur eine einzige Methode.
Hier ein Beispiel:
Stream<T>#forEach(Consumer<? super T>);
@FunctionalInterface
public interface Consumer<T> {
void accept(T t);
}
Hast du jetzt also einen Stream mit Strings würde die Methode folgendermaßen aussehen:
Stream<String>#forEach(Consumer<? super String>);
Du hast nun drei Optionen, eine Methode weiterzugeben:
1. Statische Methode:
SomeClass::staticMethod
Bsp.: Logger::info
Das ist glaube ich selbsterklärend. Logger.info gibt's übrigens nicht.
2. Nicht-Statische Methode (SomeClass muss mit dem Typen T übereinstimmen):
SomeClass::nonStaticMethod
Bsp.: String::toString
In der forEach-Methode würde damit die angegebene nicht-statische Methode in dem grade geloopten Objekt aufgerufen werden.
3. Nicht-Statische Methode, welche an ein Objekt gebunden ist
(object muss vom Typen T sein):
object::nonStaticMethod
Bsp.: System.out::println
Macht das gleiche wie Option 2, nur dass hierbei die angegebene nicht-statische Methode im Objekt 'object' für jedes Element der Loop aufgerufen wird.
Du kannst außerdem einen Konstruktor angeben, indem du an die Doppelpunkte das Keyword 'new' dranhängst.
Alternativ zu den Doppelpunkten, kannst du auch eine anonyme Klasse oder Lambda-Expression weitergeben.
Bist du sicher, dass dein Code überhaupt ausgeführt wird?
Um zu schauen, ob dein Code ausgeführt wird, kannst du eine Konsolenausgabe an den Anfang deines Case-Statements machen.
Doch, den gibt's: Mayo Chiki!
Zwar hat mir dieser nicht so sehr gefallen, aber vielleicht gefällt dir ja der Anime.
Ich weiß zwar nicht, wie man das mit dem Button macht, jedoch weiß ich das man einen Channel mit folgender Methode löscht:
Klasse: net.dv8tion.jda.api.entities.Channel
RestAction<Void> delete();
Hast du also eine Instanz (vereinfacht: Variable) des Typen Channel, kannst du folgendes machen:
deineChannelVariable.delete().queue();
.queue(); wird aufgerufen, damit dein Discord-Bot die Anweisung erhält, den Channel zu löschen.
"Vinland Saga" ist ein klasse Anime
"Re: Zero Starting Life in Another World" könnte dir vielleicht gefallen.
Das Genre, welches du meinst, heißt übrigens Shoujo-Ai.
Ich kenne mich mit diesem Genre leider nicht aus, aber ich kann dich auf diese Website hier verweisen, auf welcher mehrere solcher Animes, mit einem Vorschaubild, gelistet sind: ein sehr langer Link
Bei der Suche habe ich explizite Genres einfach mal ausgeschlossen.
Falls du diese nicht rausgefiltert haben willst, musst du das unter den Suchoption auf der Website einstellen.
Mit List#add(element) fügst du ein Element zu der List hinzu.
Mit List#set(index, element) veränderst du einen Eintrag in deiner List.
Das ist ein Array, welches andere Arrays hält, also ein zweidimensionales Array.
Man kann sich ein solches Array auch wie eine Tabelle vorstellen.