I need you to take another look at the JavaRanch Naming Policy, and note that a space must separate your first and last name. Replace the underscore with a space, and you'll be fine. You can edit your display name here. Thanks!
In your code, the byte and short variables 'a' and 'b' can be assigned int literal values because the values are compile-time constants that fit within the variable types.
However, the modulus operation promotes these to type int and returns an int as the result. Because this expression is not a compile-time constant, it cannot be assigned to a variable of type short without an explicit cast. For example...
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org