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

2025-11-10 12:11:09

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("注册姓名小于三位,请重新输入:");//   return nameLenght(m);//  }  //验证姓名长度大于3并且由字母数字组成  if(!(name.matches("\\w{3,}"))){   System.out.println("注册姓名不符合格式!");   return nameLenght(m);  }  // 用于验证注册姓名是否存在  Set<String> sets = m.keySet();  for (String s : sets) {   if (s.equals(name)) {    System.out.println("用户名已存在,请重新输入:");    return nameLenght(m);   }  }  return name; }

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

4、// 验证密码长度大于6 public 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。
猜你喜欢