Java字符串和输入输出流的实验
一 实验内容
(1)一些网站设定了一些指定密码的规则。编写一个方法,检验一个字符串是否是合法的密码?假设密码的规则如下:
1)密码必须至少有8个字符;
2)密码只能包括字母和数字;
3)密码必须至少有两个数字。
编写一个程序,提示用户输入密码,如果该密码符合规则就显示 “Valid Password”,否则显示 “Invalid Password”
(2)编写程序统计一个文件中的字符数(控制符’\r’和’\n’除外)、单词数以及行数。单词由空格、制表符、回车键或换行符分隔,文件名应该作为命令行参数被传递。
(3)编写一个程序,如果文件ex.dat不存在,就创建一个名为ex.txt的文件,向这个文件追加数据。使用二进制I/O将100个随机生成的整数写入这个文件中。
二 实验目的
(1)理解流的概念分类
(2)掌握字符串常用操作方法
(3)掌握流的构造、套接在编程中的应用
(4)理解和掌握文件流以及对象的串行化
三 实验过程
(1)问题分析
1.首先判断输入字符串长度是否位8,在编码得出字符串中数字有多少位,若以 上条件都满足。则Valid PassWord
代码:
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");
}
}
// 2.
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 bufRead = new BufferedReader(read);
String line = null;
while ((line = bufRead.readLine()) != null) {
String[] strs = line.split("\\s");
for (int i = 0; i < strs.length; i++) {
countOfWord++;
countOfCharacter += strs[i].length();
}
countOfLine++;
}
}
System.out.println("character: " + countOfCharacter);
System.out.println("word: " + countOfWord);
System.out.println("line :" + countOfLine);
}
}
// 3.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.util.Random;
public class Text{
public static void main(String[] args) throws IOException {
File file=new File("D:/practice/23.txt");
if(file.exists())
{
file.createNewFile();
}
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
for(int i=0;i<100;i++)
{
Random random=new Random();
int number=random.nextInt(100);
String str=number+"";
bw.write(str);
}
bw.close();
}
运行结果截图: