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

浙公网安备 33010602011771号