黑马程序员技术交流社区

标题: 贴出随机点名神器小代码一枚,敬请指教 [打印本页]

作者: 这是我的地盘    时间: 2014-11-22 01:29
标题: 贴出随机点名神器小代码一枚,敬请指教
  1. package cn.itcast.random;

  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.util.Random;

  8. public class StartRandom {
  9.         static boolean flag = true;
  10.         public static void main(String[] args) throws Exception {
  11.                 start();
  12.         }
  13.         public static void start() throws Exception
  14.         {
  15.                 FileWriter fw = new FileWriter("names.txt", true);
  16.                 BufferedWriter bw = new BufferedWriter(fw);
  17.                
  18.                
  19.                 String[] strArr = readNames("names.txt");
  20.                 Random rd = new Random();
  21.                 int rdNo = rd.nextInt(strArr.length) + 1;
  22.                 for (int i = 0; i < rdNo; i++) {
  23.                         getRandomName(strArr);
  24.                 }
  25.         }
  26.        
  27.         /**
  28.          * 读取姓名并转化为数组
  29.          */
  30.         public static String[] readNames(String path) throws Exception
  31.         {
  32.                 FileReader fis = new FileReader(path);
  33.                 BufferedReader br = new BufferedReader(fis);
  34.                 String line = null;
  35.                 StringBuilder sb = new StringBuilder();
  36.                 while((line = br.readLine()) != null)
  37.                 {
  38.                         sb.append(line);
  39.                 }
  40.                 String[] strArr = sb.toString().split(" ");
  41.                 return strArr;
  42.         }
  43.        
  44.         /**
  45.          * 打印随机名字
  46.          */
  47.         public static void getRandomName(String[] arr)
  48.         {
  49.                 Random rd = new Random();
  50.                 int num = 0;
  51.                
  52. //                System.out.println(flag);
  53.                 num = rd.nextInt(arr.length);
  54.                 System.out.println(arr[num]);
  55.         }
  56.        
  57. }
复制代码





作者: 郑飞    时间: 2014-11-22 11:37
17.18多余了 代码中也没看到关流的啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2