[英]Reading from a text file Randomly
我剛開始開發android應用,突然發現當單擊按鈕時,很難從文本文件中讀取單詞。我嘗試將文本文件中的所有單詞放入數組,並告訴它顯示單詞直到下一行(隨機),但似乎不起作用。 我想知道每次單擊一個按鈕時,如何一次又一次地隨機讀取和顯示文本文件中的單詞!!!
您應該嘗試逐字分割文本並將其放入數組中。
通過讀取文件到末尾來創建一個大字符串。 使用string.split將大字符串拆分為一個數組列表,並為split方法提供正確的split參數(“”或“,”)。 從arraylist中取出一個隨機條目,其中允許的最大隨機數是arralist的大小。
用於顯示單詞數組中的單詞的示例代碼。
大多數行的功能以注釋形式編寫。
string words[]; // array for words.
/* code for reading text from text file and place words in text into words[] */
int sizeOfArray = numberOfWordsInArray; /* the value is set in the code of words placing into array */
Random rnd = new Random(); // random number generator
int index = rnd.nextInt(sizeOfArray); // nextInt returns random integer number between 0 and (sizeOfArray-1).
printf("%s\n",words[index]); // select a word by random number and display it.
我想你每行一個字。 使用下面的代碼讀取文件並將其保存到列表中。
ArrayList<String> list = new ArrayList<String>();
try {
InputStream instream = openFileInput("yourfile.txt");
if (instream) {
BufferedReader buffreader = new BufferedReader(new InputStreamReader(instream));
String line;
while (( line = buffreader.readLine())) {
list.add(line);
}
}
instream.close();
} catch (java.io.FileNotFoundException e) {
}
將上面的代碼放在onCreate方法中。 現在使用import java.util.Random從列表中隨機選擇您的項目。 將以下代碼放在OnClickListener中。
public Item anyItem()
{ private Random randomGenerator = new Random();
int index = randomGenerator.nextInt(list.size());
Item item = list.get(index);
System.out.println("Your Selected item is " + item");
return item;
}
現在,您可以對anyItem()方法上方返回的項目進行任何操作,希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.