I am aware that the correct form is: I’m 17 years old. But I have difficulties in teaching my Brazilian students as to use “I’m 17 years old” instead of “I have 17 years old” (which in Portuguese makes more sense.).
It really makes more sense in English too, doesn't it. :)
I'm not a teacher but for what it's worth, here's my idea: I'm assuming that in Portuguese, as in French, "young" and "old" are adjectives. So the students wouldn't have problems with "He is an old man." Perhaps from there you could lead to "How old?" "He is ninety-eight years old."