Why can't I say "I have a brown hair"?

Solution 1:

When describing the hair on one's head, the noun hair takes on a collective sense, i.e. hair is treated as uncountable. Thus, the correct way to describe your hair (presumably that on your head) color is:

I have brown hair.

However, hair is also a countable noun, e.g. "Who knows the number of hairs on their head?" Hence,

I have a brown hair

is also perfectly valid, but it would usually imply that that a particular brown hair is special—perhaps one in a billion black hairs, or something of the sort.