Raising and training a puppy of any breed is a huge commitment, and raising and training a German Shepherd puppy is even more involved than many other breeds.
Given your age, and the associated fact that in another two or three years your life could under go some pretty drastic changes, my advice would be to do a ton of research now and then get a puppy when you're done with college and settled into an adult life.
Get out and attend as many dog sport events as possible, exposing yourself to as many different "types" of German Shepherd as possible. Find the type that you personally like the best and then find a breeder that is producing the best possible version of your chosen type.
Another option is to look for an adult rescue, one that is settled enough to not need the huge amounts of tine and effort that a puppy requires. Since you already have pets in the house, look for a rescue that has lived in a foster home with a small breed dog and a cat already.
Those are your two best options, in my opinion.