2017-06-15 51 views
0

我無法打印出文件中的單詞列表。如何從文件中打印多個單詞?

******沒有錯誤,只是沒有打印出******

這裏是female_names.txt文件:

瑪麗
米歇爾 帕特里夏
琳達
芭芭拉
伊麗莎白
詹妮弗
瑪麗亞
蘇珊
瑪格麗特
多蘿西
麗莎
南希
卡倫
貝蒂
海倫
桑德拉
唐娜
卡羅爾
露絲
沙龍
米歇爾
勞拉
薩拉
金佰利
德博拉
傑西卡
雪莉
辛西婭
安吉拉
梅麗莎
布倫達
艾米
安娜
麗貝卡
弗吉尼亞
凱瑟琳
帕梅拉
瑪莎
黛布拉

打開文件:打開一個文件,並有一個主

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 
import java.util.Random; 
import java.util.Scanner; 

public class OpenFile 
{ 

    public static void main(String[] args) throws IOException 
    { 
     BufferedReader femaleFile = null; 
     BufferedReader maleFile = null; 
     try 
     { 
      femaleFile = new BufferedReader(new FileReader("/Users/Luna/Desktop/female_names.txt")); 
      maleFile = new BufferedReader(new FileReader("/Users/Luna/Desktop/males_names.txt")); 
     } catch (FileNotFoundException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     String femaleLine = null; 
     String maleLine = null; 

     try 
     { 
       System.out.println("FEMALE LIST" +" === "+"MALE LIST"); 
      while((femaleLine = femaleFile.readLine())!= null) 
      { 
       maleLine = maleFile.readLine(); 
       if(maleLine != null) 
       { 

        System.out.println(femaleLine+" === "+maleLine); 
       } 
      } 
     } catch (IOException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     System.out.println("\n"); 


        //------------User Input ------------// 
     //-------picking a single random male or female word-------// 
     PickRandomWord p = new PickRandomWord(); 
     p.pickFemaleWord(); 
     System.out.println(" "); 
     p.pickMaleWord(); 


//THIS IS WHERE I AM STUCK 

     PickMultipleWords e = new PickMultipleWords(); 
     e.pickFemaleWords(2); 

    } 



} 

這是我應該從女性名字文本文件打印出隨機單詞列表其他類

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.util.ArrayList; 
import java.util.Collections; 
import java.util.List; 
import java.util.Random; 
import java.util.stream.Collectors; 

public class PickMultipleWords 
{ 

    public String pickFemaleWords(int length) 
    { 

     try 
     { 
      BufferedReader reader = new BufferedReader(new FileReader("/Users/Luna/Desktop/female_names.txt")); 
      String line = reader.readLine(); 
      List<String> words = new ArrayList<String>(); 
      while(line != null) 
      { 
       String[] wordsLine = line.split(" "); 
       for(String word : wordsLine) 
       { 
        words.add(word); 
       } 
       line = reader.readLine(); 
      } 

     } catch (Exception e) 
     { 
      // Handle this 
     } 

     Random rand = new Random(System.currentTimeMillis()); 
     StringBuilder wordHere = new StringBuilder(length); 
     for (int i = 0; i < length; i++) 
     { 
      wordHere.append((char)('a' + rand.nextInt(26))); 
     } 
     return wordHere.toString(); 




    } 


} 
+1

請提一下你面臨的錯誤 – slal

+0

沒有錯誤,只是沒有打印出來 –

回答

0

pickFemaleWords方法調用後,您不打印結果:

PickMultipleWords e = new PickMultipleWords(); 
String result = e.pickFemaleWords(2); 
System.out.println("*** Random names ***"); 
System.out.println(result);