黑马程序员技术交流社区

标题: 【黑马程序员济南】JavaEE基础阶段必会案例NO.15 [打印本页]

作者: 小鲁哥哥    时间: 2017-11-15 10:45
标题: 【黑马程序员济南】JavaEE基础阶段必会案例NO.15
本帖最后由 小鲁哥哥 于 2017-11-15 10:51 编辑

【黑马程序员济南】JavaEE基础阶段必会案例NO.15


      黑马程序员课程内容丰富多样,每个知识点我们都设计有新奇的案例让大家练习。黑马程序员训练营的课程也是案例驱动教学,每天都会进行大量的代码练习。今天我们就来一起做一个基础阶段第10天的一个小案例。

     案例:在根目录下创建一个空白的data.txt的文本文件
               键盘录入一个长度大于10的字符串,
               之后从字符串中随机获取5个字符(可以重复)存入一个字符数组,
               把这五个字符分别写入到data.txt中
    案例分析:我们用到的知识点:IO流输出流,键盘录入,数组,随机数
               这个案例考察的知识点非常多,很综合,我们一起来做一下吧!
    首先,我们新建一个文本文件。在项目上右键:
第二步,键盘录入一个长度大于10的字符串。
[Java] 纯文本查看 复制代码
public static void main(String[] args)  {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个长度大于10的字符串");//abcdefghijfgssdgsd
                String s = sc.nextLine();
}
第三步,从字符串中随机获取5个字符。写入数组。
[Java] 纯文本查看 复制代码
Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个长度大于10的字符串");//abcdefghijfgssdgsd 0 9
                String s = sc.nextLine();
                //获取字符串中的字符   charAt(index)
                Random r = new Random();
                char[] arr = new char[5];
                for (int i = 0; i < 5; i++) {
                        int index = r.nextInt(s.length());//包含头不包含尾的
                        arr = s.charAt(index);
                }
第四步,把这5个字符写入文本文件中
[Java] 纯文本查看 复制代码
public static void main(String[] args) throws IOException {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个长度大于10的字符串");// abcdefghijfgssdgsd
                String s = sc.nextLine();
                // 获取字符串中的字符 charAt(index)
                Random r = new Random();
                char[] arr = new char[5];
                FileWriter fw = new FileWriter("data.txt");
                for (int i = 0; i < 5; i++) {
                        int index = r.nextInt(s.length());// 包含头不包含尾的
                        arr = s.charAt(index);
                        fw.write(arr + "\r\n");
                }
                fw.close();
        }
上面这是用FileWriter做的一种方法,我们还学过别的流还记得吗?这里我们再说一种BufferedWriter的方法。
[Java] 纯文本查看 复制代码
        public static void main(String[] args) throws IOException {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个长度大于10的字符串");//abcdefghijfgssdgsd
                String s = sc.nextLine();
                //获取字符串中的字符   charAt(index)
                Random r = new Random();
                char[] arr = new char[5];
                BufferedWriter bw = new BufferedWriter(new FileWriter("data.txt"));
                for (int i = 0; i < 5; i++) {
                        int index = r.nextInt(s.length());//包含头不包含尾的
                        arr = s.charAt(index);
                        //第二种:
                        bw.write(arr);
                        bw.newLine();
                }
                bw.close();
        }
来我们运行看一下!
打开文件看看:
ok!这个案例作为一个经典案例用来复习IO流,for循环,随机数,键盘录入,数组相关知识非常不错,很新颖。其实,每个案例都有很多种写法,不同的人可能有不同的思路。黑马程序员训练营也是非常鼓励大家开动脑筋积极思考的。
      
      点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈






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