✨ ベストアンサー ✨
have+過去分詞→状態動詞の現在完了
have+been+現在分詞→動作動詞の現在完了
例)I have lived here for three years.
It has been raining for two hours.
playは状態動詞としても動作動詞としても使えますが、ちゃんと見分け方(使い分け方)があります。
状態動詞→習慣として、定期的にしている
動作動詞→一時的にする
この問題では、「私は2年間ずっとテニスをしています。」とありますが、動作動詞として捉えると、2年間休むことなくテニスをし続けてきたことになります。
そうではないですよね。この場合は、2年間定期的にテニスをし続けてきた、ってことです。
よってこれは状態動詞の用法であり、have playedにします。
これが、「私は2時間ずっとテニスをし続けています。」とかならI have been playing tennis for two hours.となります。