• 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;	
    			}
    		}
    		
    	}
    

      

  • 相关阅读:
    Java的类演进过程
    P112、面试题16:反转链表
    P107、面试题15:链表中倒数第K个结点
    Java对象相关元素的初始化过程
    P102、面试题14:调整数组顺序使奇数位于偶数前面
    P99、面试题13:在o(1)时间删除链表结点
    面试常考的数据结构Java实现
    Linux命令面试常考的简单汇总
    操作系统与进程基础知识
    python--process
  • 原文地址:https://www.cnblogs.com/klory/p/10629327.html
Copyright © 2020-2023  润新知