2014-04-05 35 views
0

因此,我正在創建一個程序,使隨機單詞。現在,我有一個大約58000字的記事本文件,全部用不同的行。我想要整個記事本文件,每行讀入一個字典數組的元素,這個數組將被用來檢查每個字對自己,這樣,至少這些字是有意義的。 這是我的編碼,到目前爲止,我只是Java的初學者,並使用BlueJ。將記事本讀入數組 - BlueJ

import java.io.*; 

class autosentence { 
    public static void main() throws IOException { 
     System.out.print('\f'); 
     BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
     int x = (int) (Math.random() * 10); 
     String a[] = new String[x]; 
     char c; 
     int b[] = new int[3]; 
     String str; 
     for (int k = 0; k < 1; k++) { 
      for (int i = 0; i < x; i++) { 
       a[i] = ""; 
       b[0] = (int) (Math.random() * 10); 
       for (int j = 0; j < b[0]; j++) { 
        b[1] = (int) (Math.random() * 10); 
        if (b[1] < 4) { 
         b[2] = 65; 
        } else if (b[1] < 7) { 
         b[2] = 70; 
        } else if (b[1] < 10) { 
         b[2] = 80; 
        } else { 
         b[2] = 90; 
        } 
        if (b[2] < 90) { 
         c = (char) ((int) ((Math.random() * 10) + b[2])); 
        } else { 
         c = 'Z'; 
        } 
        a[i] += c; 
       } 
      } 
      for (int l = 0; l < x; l++) { 
       System.out.print(a[l] + " "); 
      } 
      str = in.readLine(); 
      if (str.equalsIgnoreCase("y")) { 
       str = ""; 
       k--; 
      } else { 
       break; 
      } 
     } 
    } 
} 
+0

好的,所以我想要一個[i]檢查說 String dt [] = new String [58000] – Thatrandomnoob

+0

我知道BlueJ是相當基本的,但它有自動格式函數嗎?請使用它。此代碼難以辨認。 –

回答

0

請嘗試下面的代碼。它會將您的txt文件讀取到arraylist中,並將結果作爲所有單詞的數組列表返回。

public static ArrayList<String> readData(String fileName) throws Exception 
    { 
    ArrayList<String> data = new ArrayList<String>(); 
    BufferedReader in = new BufferedReader(new FileReader(fileName)); 

    String temp = in.readLine(); 
    while (temp != null) 
    { 
     data.add(temp); 
     temp = in.readLine(); 
    } 
    in.close(); 
    return data; 
    } 

在您的代碼中使用此方法後,您可以使用以下代碼來比較單詞。

ArrayList<String> allWordsFromNotepad = readData("your file name"); 
boolean wordExist = false; 
for (String s : allWordsFromNotepad) 
    { if (s.equals("variable name of your random word")) 
     { wordExist = true 
     } } 

如果單詞存在於當前記事本列表中,您的wordExist變量將保持該狀態。如果這個單詞存在,那麼狀態將爲true,否則爲false。

希望它會有所幫助。