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