To assist Java programming educations, we have developed a Web-based Java Programming Learning Assistant System (JPLAS). JPLAS provides fill-in-blank problems for novice students to learn Java by filling blank elements composed of reserved words, identifiers, and control symbols. In this paper, we propose a graph-based blank element selection algorithm to select as many blanks as possible such that any blank has the grammatically correct unique answer. Our algorithm first generates a graph by selecting every candidate element in the code as a vertex, and connecting any pair of vertices by an edge if they can be blanked together, where the conditions for simultaneous blanks are defined. Then, it extracts a maximal set of blank elements by seeking a maximal clique of the graph. We verify the algorithm through applications to 100 Java codes, where the answer uniqueness is manually confirmed and the number of blank elements is almost proportional to the number of statements in a code.