Bunun Java ile ilgisi yok, hemen hemen her C ailesindeki dilde mantık aynı. Random, While, CLI I/O bilmeniz yeterli.