自学java 3个月了 第一次写项目 遇到了写问题不太明白,诚心请教下各位程序员哥哥。
o(╯□╰)o
代码如下,从1到9是debug的执行顺序。不明白为什么return 返回方法的结果之后会直接跳到8,而不是结束方法。 也不知道这里为什么sss变成了3.5。
有没有大佬可以不吝赐教呀!
sss = sss + (gprice * i); // 1. sss=3.5 4. sss=sss+6=9.5
System.out.print("是否继续(y/n):"); // 2. y 5. n
String s = sc.next();
if (s.equals("y")) {
JDBCUtils.close(rs, pstmt, null);
JDBCUtils.close(rss, pstmtt, null);
JDBCUtils.close(null, pstmttt, null);
balanceContinue(conn, sss); //3. 递归 //8. return完 跳到这一行代码,且sss变成了3.5。本行结束后,又直接跳到9。
}
if (s.equals("n")) {
JDBCUtils.close(rs, pstmt, null);
JDBCUtils.close(rss, pstmtt, null);
conn.commit();
JDBCUtils.close(null, pstmttt, conn);
System.out.println(sss); // 6. sss=9.5
}
} catch (SQLException e) {
conn.rollback();
e.printStackTrace();
}
return sss; // 7. sss=9.5 //9 sss=3.5 这个方法结束 返回值是3.5