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

 时间:2026-02-16 00:39:57

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中递归的使用,及其实例

  • 请求乱码如何处理
  • 如何解决WAS Liberty Profile启动或停止乱码
  • IDEA如何Debug一个项目
  • jmeter中项目怎么添加一个检查点
  • 怎样打开垃圾回收日志文件
  • 热门搜索
    我的初中生活作文 计算器怎么弹音乐 如何提升个人魅力 你也一样英语怎么说 汉王怎么用 电脑中木马了怎么办 如何练好钢笔字 如何将超人喂养成正直好少年 隔板怎么固定在墙上 如何找回qq密码