Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 输入若干行字符串,判断每行字符串是否可以作为JAVA语法的合法标识符。 判断合法标识符的规则:由字母、数字、下划线“_”、美元符号“ ”组成,并且首字母不能是数字。Input输入有多行,每行一个字符串,字符串长度不超过10个字符,以EOF作为结束。Output若该行字符串可以作为JAVA标识符,则输出“true”;否则,输出“false”。SampleInputabctest ” 组 成 , 并 且 首 字 母 不 能 是 数 字 。 I n p u t 输 入 有 多 行 , 每 行 一 个 字 符 串 , 字 符 串 长 度 不 超 过 10 个 字 符 , 以 E O F 作 为 结 束 。 O u t p u t 若 该 行 字 符 串 可 以 作 为 J A V A 标 识 符 , 则 输 出 “ t r u e ” ; 否 则 , 输 出 “ f a l s e ” 。 S a m p l e I n p u t a b c t e s t test a 1 a+b+c a’b 123 变量 Sample Output true true true false false false false true Hint
Source houxq
import java.util.*; class myclass { String x; myclass(String xx) { x = xx; } boolean isjava() { if (x != null && x.length() > 0) { int pos = 0; if (Character.isJavaIdentifierStart(x.charAt(pos))) { pos++; while (pos < x.length()) { if (!Character.isJavaIdentifierPart(x.charAt(pos))) { return false; } pos++; } return true; } } return false; } } class Main { public static void main(String[] args) { Scanner ss = new Scanner(System.in); String x; while (ss.hasNextLine()) { x = ss.nextLine(); myclass my = new myclass(x); boolean t = my.isjava(); System.out.println(t); } ss.close(); } }