java中递归的使用,及其实例

2025-04-30 12:51:50

1、// 用户信息的持久化保存(序列化)public void save(Map m) throws Exception {FileOutputStream fos = new FileOutputStream("User.txt");ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeObject(m);oos.flush();oos.close();}

java中递归的使用,及其实例

2、// 用户信息的读取(反序列化)public Map read() throws Exception {FileInputStream fis = new FileInputStream("User.txt");ObjectInputStream ois = new ObjectInputStream(fis);Map<String, String> temp = (HashMap) ois.readObject();ois.close();return temp;}// 学生信息public void list(Map m) {System.out.println("列表如下:");Set<Map.Entry<String, String>> sets = m.entrySet();for (Entry<String, String> s : sets) {System.out.println(s);}}

java中递归的使用,及其实例

3、// 验证并返回注册姓名public static String nameLenght(Map m) {System.out.println("请输入3位以上字母和数字组成的姓名:");String name = sc.next();//if (name.length() < 3) {//System.out.println("注册姓名小于三位,请重新输入:");//returnnameLenght(m);//}//验证姓名长度大于3并且由字母数字组成if(!(name.matches("\\w{3,}"))){System.out.println("注册姓名不符合格式!");returnnameLenght(m);}// 用于验证注册姓名是否存在Set<String> sets = m.keySet();for (String s : sets) {if (s.equals(name)) {System.out.println("用户名已存在,请重新输入:");returnnameLenght(m);}}return name;}

java中递归的使用,及其实例

4、// 验证密码长度大于6public String passWordLenght() {System.out.println("请输入6位及以上密码:");String passWord = sc.next();if (passWord.length() < 6) {System.out.println("密码长度小于6,请重新输入:");//如果密码不符合要求,返回重新输入,验证,递归return passWordLenght();}System.out.println("请再次确认密码:");String passWord1 = sc.next();if (!(passWord.equals(passWord1))) {System.out.println("两次密码不一致,请重新输入:");return passWordLenght();}System.out.println("注册成功!");return passWord1;}

java中递归的使用,及其实例

5、// 用户登录验证public void martch(Map m) {System.out.println("请输入姓名:");String name = sc.next();//输入姓名,在map集合查找是否存在,存在则验证密码,不存在则使用递归,返回重新输入Set<String> sets = m.keySet();for (String s : sets) {if (name.equals(s)) {martchPassWord(s, m);return;}}System.out.println("姓名不存在,请重新输入");martch(m);}

java中递归的使用,及其实例

6、// 用户密码验证public void martchPassWord(String name, Map m) {System.out.println("稆糨孝汶;请输入密码");String passWord = sc.next();if (passWord.equals(m.get(name))) {System.out.println("登录成功!");return;}if (!(passWord.equals(m.get(name)))) {System.out.println("密码不正确,请重新输入");martchPassWord(name, m);}}// 学生删除public void delStudents(Map m) {System.out.println("请输入要删除的学生姓名:");String name = sc.next();Set<String> sets = m.keySet();for (String s : sets) {if (s.equals(name)) {m.remove(s);System.out.println("删除成功!");return;}}System.out.println("输入姓名不存在,删除失败!");delStudents(m);}

java中递归的使用,及其实例
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢