怎样区别将来完成时与将来完成进行时

问题描述:

怎样区别将来完成时与将来完成进行时
-——Is Tom still smoking?
—— No.By next Saturday he___for a whole month without smoking a single cigarette.
A.will be B.will have gone C.will have been D.has been going
为什么要用将来完成时呢.能不能用will have been going 呢
By next summer he___in this factory for thirteen years.
A.has been working
B.will have been working
C.will be working
D.has worked
为什么要用将来完成进行时呢.用将来完成时行吗

第一道题,前面说了NO,意思现在这种情况已经不在了,因此用将来完成时
但第二道题,现在这种情况还将继续,所以用将来完成进行时