实验四 字符串和输入输出流的实验(1).doc
字符串和输入输出流的实验报告 本实验报告的目的是通过实验四,字符串和输入输出流的实验,来理解流的概念分类、掌握字符串常用操作方法、掌握流的构造、套接在编程中的应用,理解和掌握文件流以及对象的串行化。 一、实验内容 实验内容包括三个部分: 1. 编写一个方法,检验一个字符串是否是合法的密码?假设密码的规则如下:密码必须至少有 8 个字符;密码只能包括字母和数字;密码必须至少有两个数字。 2. 编写程序统计一个文件中的字符数(控制符’\r’和’\n’除外)、单词数以及行数。单词由空格、制表符、回车键或换行符分隔,文件名应该作为命令行参数被传递。 3. 编写一个程序,如果文件 ex.dat 不存在,就创建一个名为 ex.txt 的文件,向这个文件追加数据。使用二进制 I/O 将 100 个随机生成的整数写入这个文件中。 二、实验过程 1. 问题分析 首先判断输入字符串长度是否位 8,在编码得出字符串中数字有多少位,若以上条件都满足。则 Valid PassWord。 2. 代码编写 ```java import java.util.Scanner; public class ShiYan { public static void main(String[] args) { int counter1=0;//记录字符串中的数字个数 int counter2=0;//记录字符串中字母的个数 int counter=0;//数字个数+字母的个数 System.out.println("请输入密码:"); Scanner in=new Scanner(System.in); String s=in.nextLine();//从键盘读取字符串 s=s.toUpperCase(); //System.out.println(s);//判断是否大写成功 if(s.length()==8) { for(int i=0;i<s.length();i++){ if(s.charAt(i)>='0' && s.charAt(i)<='9'){ counter1++; }else if(s.charAt(i)>='A'){ if(s.charAt(i)<='Z')counter2++; }else { System.out.println("Invalid PassWord"); break; } } //计算出字符串中数字和字母的个数 /*counter=counter1+counter2; System.out.println(counter1+","+counter2);*/ if(counter1>1) { System.out.println("Valid PassWord"); } else System.out.println("Invalid PassWord"); } if(s.length()!=8) System.out.println("Invalid PassWord"); } } ``` ```java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.Reader; public class Main { public static void main(String[] args) throws IOException { int countOfCharacter = 0; int countOfWord = 0; int countOfLine = 0; if (args.length > 0) { Reader read = new FileReader(args[0]); BufferedReader bufferedReader = new BufferedReader(read); String line; while ((line = bufferedReader.readLine()) != null) { countOfLine++; String[] words = line.split("\\s+"); countOfWord += words.length; for (String word : words) { countOfCharacter += word.length(); } } System.out.println("字符数:" + countOfCharacter); System.out.println("单词数:" + countOfWord); System.out.println("行数:" + countOfLine); } } } ``` 三、实验结果 通过实验,我们可以看到,实验结果满足了实验目的,为我们提供了对流的概念分类、字符串常用操作方法、流的构造、套接在编程中的应用、文件流以及对象的串行化的理解和掌握。 四、实验总结 实验四,字符串和输入输出流的实验,为我们提供了一个深入理解流的概念分类、掌握字符串常用操作方法、掌握流的构造、套接在编程中的应用、文件流以及对象的串行化的机会。通过实验,我们可以更好地理解和掌握这些概念,从而更好地应用于实际编程中。
剩余7页未读,继续阅读
- 粉丝: 71
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
评论10