Java计算非节假日和双休日的工作日日期

T是工作日,不包含节假日和双休日,推算出T+1日、T+3怎么推算的?

节假日这个人为规定的,不好计算,双休日简单,伪代码
int n = 3;
DateTime T;
while (n > 0)
{
T = T+1天
if (T不是双休) n--;
}