本帖最后由 小鲁哥哥 于 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[i] = 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[i] = 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[i] = s.charAt(index);
//第二种:
bw.write(arr[i]);
bw.newLine();
}
bw.close();
} 来我们运行看一下! 打开文件看看: ok!这个案例作为一个经典案例用来复习IO流,for循环,随机数,键盘录入,数组相关知识非常不错,很新颖。其实,每个案例都有很多种写法,不同的人可能有不同的思路。黑马程序员训练营也是非常鼓励大家开动脑筋积极思考的。 点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
|