• java学习——递归


     /**
    	  * 添加商品类型的功能
    	  * 注意创建时间和修改时间在具体的方法中直接赋值
    	  * @param gT 商品类型管理表映射的GT类的实例化对象
    	  */
    	@Override
    	public void add(String goodsTypeName) {
    		sql = "insert into tb_GoodsType(goodsTypeParentID,goodsTypeName,isGoodsTypeParentID,GTIDcreatetime) values(?,?,?,?)";
    		conn = DBUtil.getconn();
    		try {
    			PreparedStatement ps = conn.prepareStatement(sql);
    			ps.setInt(1, 0);
    			ps.setString(2, goodsTypeName);
    			ps.setInt(3, 1);
    			Timestamp tdate = new Timestamp(new Date().getTime());
    			ps.setTimestamp(4, tdate);
    			if(ps.executeUpdate()>0)	System.out.println("新增商品类型成功");
    			else System.out.println("新增商品类型失败");
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}
    

      递归需注意内层循环的结束条件,和外层循环的结束条件

    public void addGT() {
    		while(true) {
    			System.out.println("请输入需要新增商品类型的名称:");
    			String answer = input.next();
    			GTD.add(answer);
    			System.out.println("输入1继续,输入0返回商品类型管理页面");
    			String answer1 = input.next();
    			if("1".equals(answer1)) {
    				addGT();
    //	这里的25行break在addGT()输入no时直接跳出递归的内层循环
    //	如果25行这里缺少break,输入no时,只能跳出内层循环,跳出后还是在if语句体中,会接着循环一次。输入no才推出
    				break;
    //				System.out.println("内层的循环");
    			}
    			else {
    //				System.out.println("最外层的循环");
    				break;	
    			}
    		}
    		
    	}
    

      

  • 相关阅读:
    redis应用场景
    redis 持久化
    vue.jsv-if 的key值问题
    laravel 上线注意事项 (ubuntu lamp)
    laravel 不同表用户登录,后台跳转问题
    Laravel 5.5 不同用户表登录认证(前后台分离)
    记录laravel 数据填充问题
    Git 版本控制器详解
    Ubuntu Apache多站点配置
    Spring的注解@Qualifier小结
  • 原文地址:https://www.cnblogs.com/klory/p/10629327.html
Copyright © 2020-2023  润新知