I have bought the furniture for a few years.
I have had the furniture for a few years.
I know both sentences are a little weird. One could have said 'I bought the furniture a few years ago' to mean the same thing. Why not? However, those two lines are frequently used by Chinese English teachers to test if the students understand the present perfect tense. They define the first one is wrong, and the other is correct.
Is that right that we should not use 'have bought something for some time'?
However, "I have had the furniture for a few years" is that the sentence your teachers say is wrong?. Because I find it correct, it means that you had the same furniture years ago and still have it.
By the way, can 'I have had the furniture for a few years' reflect the meaning 'I bought the furniture a few years ago'?
Correct me if I am wrong:
We can use 'I have bought', but not 'I have bought for a certain time'.
wife--Let me go out to buy some tomato sauce.
husband--You don't have to. I have bought some.
In the above case, is the present perfect tense 'have bought' acceptable?
In this context, the meaning is 'I have been buying the furniture for a few years.' (buying it for my company)
The grammar is the same as 'I have lived in China for a few years.'
You are still doing the job: I have been buying furniture for a few years.
You used to do the job: I bought furniture for a few years.
But you couldn't use "have bought" in either case.