Logical Problems In Java