Choosing between "have" and "have had" [closed]

Solution 1:

I have my hair cut whenever it gets too long.

This is an admission of something you do on a regular basis.

You're saying that you regularly get your hair cut when it gets too long.

It's like saying: "I eat whenever I'm hungry."

I have had my hair cut whenever it gets too long.

This is an admission that you've gotten your hair cut in the past. It says nothing about the future (although that can be implied).

You're saying that, in the past, you've had your hair cut when it has gotten too long.

It's like saying: "I have eaten whenever I've been hungry."

Also, I don't think your sentence is grammatically correct. It should be:

I have had my hair cut whenever it gets when it has gotten too long.