My Banjo is fair to good quality and strings 1, 2, 3, and 5 all go up 1/2 step per fret as they are supposed to. The 4th string is tuned to D and I tune it quite flat and it doesn't go up 1/2 step, it continually goes sharp as I go higher up the frets. I see no obvious problems. Could it be something wrong wit the string itself? I haven't tried a different string.
Are you sure the bridge is rightly positioned? Banjo intonation can some times be tricky, requiring the bridge to be positioned in a slightly oblique orientation to allow proper intonation of both the low and high strings.
Try the harmonics at the octave fret in both the treble and bass D strings (1 and 4 counting upwards) making sure they give the same pitch as the pressed fret. If not, adjust slightly the bridge position independently for each extremity string.
If the harmonic at mid point of the string has lower pitch than the pressed octave (12th) fret, then the string is shorter in length than it should be. Move the bridge slightly outwards (to the back of the banjo's pan) to make the string just a tiny bit longer. In the opposite case move bridge inwards.
Once you adjust the bridge position for one string (say, #1 or high D), keep that position fixed (as if the point where the string touches the bridge was a fixed rotation axis) while adjusting the position for the other string (#4/low D).
Finally check the middle and drone strings to make sure there isn't any problem. Since we cannot adjust the intonation of each string individually, adjusting a banjo's intonation is always a compromise.
When you're satisfied with the intonation you got, don't be afraid to get a pencil and make a couple of small light marks on the skin marking the bridge position, so that you can quickly recover the position of the bridge when you change the strings or if it gets displaced by any reason.
Don't be suprised if the bridge ends up tilted by a few degrees, that's normal. If however you find that you cannot get an acceptable intonation by this process or the bridge ends up ridiculously skewed, then there should be other problems, like suggested by the other answer.