Zufälliges Wort aus dem array-Liste

Ich habe ein Problem initiiert ein zufälliges Wort aus dem array. Ich bin nicht sicher, wie finden Sie die Worte arraylist Holen Sie es aus. Kann jemand mich in die richtige Richtung für meine getRandomWord Klasse? Danke!

Methode getRandomWord die nimmt nichts als Eingabe und gibt eine zufällige Zeichenfolge von Wörtern.
Denken Sie daran, dass Sie können verwenden Sie die Random-Klasse, um dies zu tun.

import java.io.*; 
import java.util.*;
import java.util.Random;

public class WordList{

  private ArrayList<String> words;

  //Construct String from file
  public static void constructor(String filename) throws IOException{

  ArrayList words = new ArrayList();
  BufferedReader read = new BufferedReader(new FileReader("filename"));
  String line = read.readLine();


    while (line != null){
      words.add(line);
      //line = reader.readline();
    }
  }

  public static void getRandomWord(){
Random rand = new Random();
String randomWord = words.get(rand.nextInt(words.size));
}
}
  • So dass Sie versuchen, ein zufälliges Wort aus einer Datei und ausgeben?
  • Member-Variablen (z.B. 'Worte') verwiesen werden kann, von statischen Methoden (z.B. 'getRandomWord()'). Entweder erklären 'Worte' als statische oder entfernen 'static' Schlüsselwort aus der Signatur der Methode.
  • sollten Sie etwas verwenden wie : int rand= minimum + (int)(Math.random ()*(maximum));
  • Versuchen Sie diesen link, vielleicht wird es Ihnen helfen, here
  • In der Tat. Von dem, was ich verstehe, der erste Teil von meinem code-Wörter aus einer Datei und legt Sie in eine arraylist. Der zweite Teil von meinem code muss eine Zufallszahl erzeugen und die Ausgabe der entsprechenden Wort in der arraylist. Ich habe Probleme mit der Tatsache, dass Worten ist private... Sagt, ich kann es nicht erreichen, aus getRandomWord
  • Ok, vielen Dank für das clearing, die aus
  • was passiert, wenn Sie die array-Liste statisch? public static ArrayList<String> words; `
  • Ihre Methode fehlt eine return-Anweisung. Und das zurück geben, es sollte String statt void.
  • Danke, das hat geholfen! Ich bin immer näher... Jetzt ist die Fehlermeldung die ich bekomme zu tun hat mit der Größe der arraylist Worte:"die Größe hat privaten Zugriff in java.util.arraylist"in meinem getRandomWord Klasse.
  • Hast du schon herausfinden? wenn nicht, was u tun haben, die in main()?
  • Verwenden Sie die size() Methode, nicht der private Bereich.

InformationsquelleAutor user3062703 | 2013-12-03
Schreibe einen Kommentar