Ich programmiere seit einer Weile Discord Bots mit der Java Discord API, kurz JDA. Das kann ich auch empfehlen, würde aber Einsteigern nicht unbedingt dazu raten.
Es kommt ganz drauf an, welche Programmiersprache du beherrschst und danach solltest du auch den Wrapper wählen. Wenn du keine kannst, solltest du vorher eine lernen, denn sonst wirst du Schwierigkeiten mit solchen APIs kriegen.
Zur Spracheingabe: Ja, das wäre theoretisch möglich. Du müsstest halt gucken, ob du eine vernünftige API dafür findest. Die Amazon Alexa API bspw. versorgt dich damit nicht. Keine Ahnung, wie es bei der Konkurrenz aussieht.

...zur Antwort
Wie kann ich mit Java prüfen, ob ein Satz in einer Textdatei enthalten ist?
else if (event.getSource() == blesen) {
  FileReader fr = null;

  try {
    String text;
    String fileName = "D:/Flo/password/loggin.txt";
    File file = new File(fileName);
    int len = (int)file.length();
    char[] buf = new char[len];

    fr = new FileReader(file);
    fr.read(buf);
    text = new String(buf);

    // ab hier JFrame
    JFrame auslesen = new JFrame("Output Dialog");
    auslesen.setLayout(null);
    auslesen.setVisible(true);
    auslesen.setSize(290, 250);
    auslesen.setResizable(false);
    auslesen.setTitle("Auslesen");

    auslesen.setDefaultCloseOperation(EXIT_ON_CLOSE);
    auslesen.setLocationRelativeTo(null);
    
    // bis hier her JFrame | ab hier dann eingabe feld
    JTextField plattlesen = new JTextField();
    JLabel welcheplatt = new JLabel("<html>Welche Loggin Daten <p /"
      + ">möchtestdu wissen?</p"
      + ">Plattform:</html>");
    
    auslesen.add(bfertiglesen);
    bfertiglesen.setBounds(1, 100, 100, 30);
    auslesen.add(plattlesen);
    plattlesen.setBounds(1, 70, 100, 20);
    auslesen.add(welcheplatt);
    welcheplatt.setBounds(1, 1, 200, 50);

    slesen = plattlesen.getText();
    System.out.println(text);
  }
  catch(IOException ex) {
    System.out.println(ex);
  }
  finally {
    try {
      if (fr!= null) fr.close();
    }
    catch(Exception ex) {
    }
  }
}
else if (event.getSource() == bfertiglesen) {
  slesen = plattlesen.getText();

  if (text.indexOf(slesen)) {
    System.out.println(slesen);
  }
}

Ich möchte prüfen, ob ein eingegebener Satz in einem Textdokument enthalten ist.

Wie mache ich das am besten?

...zur Frage

Hallo LordDerDunkel,

ich würde so etwas mithilfe von java.nio statt java.io überprüfen. Es geht natürlich mit beidem, aber ich habe mich inzwischen an ersteres gewöhnt.

Ich weiß nicht genau, wie du deine Ausgaben haben willst, deshalb hier nur, wie ich es grundsätzlich machen würde:

String text;
String fileName = "D:/Flo/password/loggin.txt";
Path file = Paths.get(fileName);
try {
    text = new String(Files.readAllBytes(file));
    boolean satzIstEnthalten = text.contains("Dein Satz.");
} catch (IOException e) {
    e.printStackTrace();
}

satzIstEnthalten würde nun true sein, wenn in dem Dokument "Dein Satz." steht. Eventuell musst du bei dir noch auf die Codierung achten, also ob das Ganze in UTF-8 ist, beispielsweise. Sonst steht in dem String text dann was anderes drin als in der Datei.

LG

...zur Antwort

Gleichzeitig nur mit Ansynchronität, also mehreren Threads (wobei das auch nicht zwingend "gleichzeitig" sein muss). Aber du kannst so viele Objekte erzeugen, wie du willst, auch in einer Schleife.
Naja, bis du dann den OutOfMemoryError kriegst. Aber das sollte wohl kaum passieren, außer du legst es darauf an.

...zur Antwort

Überflüssige Klammern gibt es eigentlich kaum bei Java. Zumindest nicht, wenn man nicht mit der Intention an einen Code herangeht, überflüssige Klammern zu erstellen.

In der Hinsicht ist Java eigentlich recht streng. Das einzige, wo du praktisch unendlich viele Klammern machen kannst, sind Rechenoperationen. Da ist das genau wie in der Mathematik. Auch geschweifte Klammern {} kannst du so viele setzen, wie du willst. Das macht aber absolut keinen Sinn.

Bei vielen Dingen, die normalerweise Klammern {} benötigen, kann man diese weglassen, wenn sie nur einen Befehl enthalten. Man sollte sich das Ganze jedoch gut überlegen, gerade bei komplexerem Code kann das schnell zu Fehlern führen.

if (true) 
  // Anweisung

while (true) 
  // Anweisung

if (false) {
} else
  // Anweisung
...zur Antwort

Da vertrittst du eine sehr extreme (und eigentlich kaum vertretbare) Meinung.

1. Die Amokläufer bringen nicht gezielt irgendwen um. Die laufen in die Schule, schießen meist wahllos um sich, töten und verletzen, terrorisieren und traumatisieren ALLE.

2. Die "Mobber" (wenn das die Ursache ist) sind auch bloß Kinder. Dumme Teenager, die bescheuert sind. Das ist nun mal so. Aber dafür gehören sie nicht erschossen.

3. Die Amokläufer haben sowieso psychische Probleme, wenn sie so etwas tun. Da steckt kein logisches und rationales Denken dahinter (was auch unfassbar perfide und unmenschlich wäre).

Dein "Lösungsansatz" ist noch mehr Gewalt. Feuer mit Feuer bekämpfen. Alle umbringen, die was damit zu tun haben. Eine Unterteilung in gut und böse. Wo fängt das an, wo hört das auf?
Was du als richtig ansiehst, ist absolut unsinnig. Ursachen bekämpfen ja, aber nicht mit dem eigentlichen Problem.

...zur Antwort

Steht da noch mehr? Muss das in zwei unterschiedlichen Klassen sein?

...zur Antwort

Hallo,

du brauchst nicht nur "eine Art Schleife", du brauchst ganz sicher eine Schleife. Die gibt's nämlich in Java. Deiner Formulierung kann man nur schwer entnehmen, was genau du benötigst, aber hier mal ein paar Schleifentypen, die sich anbieten würden.

Die Do-While-Schleife:

do {
    // Code
} while(<Bedingung>);

Anstelle von <Bedingung> musst du einen boolschen Ausdruck einsetzen. Etwa:

boolean end = false;
do {
    // Code
} while(!end);

Solange die Aussage in der Klammer wahr ist, läuft die Schleife weiter. D.h., der Code wird ausgeführt, dann wird geprüft, ob die Aussage wahr ist, falls ja, wieder ausgeführt, und immer so weiter.

Ähnlich ist da die while-Schleife:

while(<Bedingung>) {
    // Code
}

Für die Bedingung gilt das Gleiche wie vorher. Nur wird diese hier am Anfang geprüft und nicht am Ende wie bei der do-while-Schleife. Das bedeutet, sollte die Bedingung vor der Schleife nicht wahr sein, wird sie gar nicht erst ausgeführt. Bei der do-while-Schleife wird die Bedingung erst am Ende des ersten Durchlaufs geprüft.

Zuguterletzt hätten wir da noch die for-Schleife, vielleicht ist es das, was du suchst:

for (int i = 0; i < 5; i++) {
    // Code
}

Diese Beispielschleife wiederholt 5 mal. Warum?

Nun, eine for-Schleife braucht grundsätzlich drei Angaben: die Initialisierung einer Zählvariable, eine Bedingung und eine sog. Inkrementierung.

int i = 0; initialisiert eine Zählvariable. In diesem Fall eine ganze Zahl i, die als Anfangswert 0 zugewiesen bekommt.

i < 5; stellt die Bedingung dar, die am Anfang jedes Durchlaufs geprüft wird. Die Schleife läuft, solange i kleiner als 5 ist.

i++; ist die Inkrementierung. Anders gesagt, beschreibt es das, was am Ende jedes Durchgangs mit der Zählvariable passiert. In diesem Fall ist das das Gleiche wie

i += 1;
// oder
i = i + 1;

Es sagt also, dass i am Ende jedes Durchgangs um eins erhöht werden soll. i++ ist eine Kurzschreibweise dafür.

Natürlich kannst du diese drei Angaben frei nach deinen Bedürfnissen einstellen. Du kannst die Schleife mit einer anderen Bedingung 100 mal iterieren lassen. Oder 432786523 mal. Genauso gut könntest du auch i kleiner werden lassen oder i einen anderen Startwert zuweisen. Je nachdem, was genau du willst.

Als letztes gibt es noch die Möglichkeit, eine Schleife frühzeitig von vorne beginnen zu lassen, also zum Anfang zu springen. Das geht mit der Zeile

continue;

Man möchte den Einsatz davon in der Regel aber eher vermeiden.

Ich hoffe, ich konnte helfen.

Wenn du noch Fragen hast, kommentiere diese Antwort gern!

LG

...zur Antwort

Du könntest es umgehen, mit einer anderen IP-Adresse, sprich einem anderen Gerät. Oder, wie hier auch schon vorgeschlagen wurde: per VPN.
Du hast allerdings keinerlei Anspruch auf deinen Account und Instagram ist nicht verpflichtet, sich für irgendeine Sperrung zu rechtfertigen, so wie du das hier tust.

Wie gesagt, wahrscheinlich kannst du es umgehen, aber im Recht bleibt immer noch Instagram.

...zur Antwort

Ja, ich finde es übertrieben. Das Teil ist schon ein harter Overkill für Instagram, Snapchat und co. Ich glaube kaum, dass es für irgendetwas genutzt wird, das dem Gerät gerecht wird.

...zur Antwort

Wieso sollte man das nicht dürfen? Natürlich kann das nach außen die Wirkung haben, dass man selbstverliebt ist oder so. Aber das ist ziemlich banal.

...zur Antwort

Ich weiß, das hilft dir bei deinem konkreten Problem jetzt nicht, aber:

Benutz doch eine IDE, anstatt alles per Hand zu kompilieren.
IDEs wie IntelliJ, Eclipse und BlueJ haben vielfältige Vorteile:

-Einfache Bedienung
-Auto-completions
-Übersichtlichkeit
-Syntax-Highlighting
-Kompilierfehler werden sofort erkannt und dir wird sogar ein Verbesserungsvorschlag gemacht
-Leichtere Einbindung von Extra-Funktionen wie VisualVM
-Alles geht WESENTLICH schneller

Ich würde es mir echt überlegen.

...zur Antwort

Alle Telltale Spiele. Life Is Strange. Die meisten Entscheidungen in solchen Spielen sind aber Trug, egal was man tut, man verfolgt immer noch eine große Storyline.

...zur Antwort

Das letzte Mal, als ich gespielt habe, war Optifine schon bei Forge dabei. Vorher hat sich das immer gebissen. Ist das nicht mehr so?

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.