My 3.5 year old is a generally sweet child who needs fairly little discipline. Which means I'm kind of stumped when he does. He usually plays well with his little sister, but occasionally will knock her over, or snatch something, or hit her. When he does, I tell him it's not OK to hit, and he just insists: "But I had to hit her, because she was taking my monster truck!" (or crumpling the map, or sitting in my way, or whatever).
I keep trying to talk to him about why hitting is never OK, hurts, etc.. He keeps insisting that "he had to do it because..." We can have that conversation forever, with no effect.
I've tried telling him he has to go outside until he's ready to come in and be nice to us again, but that ends up with me physically putting a struggling child on the porch then holding the door shut against him while he screams and cries, which doesn't feel right, even for a few seconds. And truthfully, once he's gotten the truck back, he's probably done hitting already and no danger to anyone (but no less likely to do the same tomorrow).
I'm kind of stumped as to what I should do when he does something inappropriate like this?