2017-06-15 49 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);