JAVA判断合法标识符

Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic Discuss
Problem Description
输入若干行字符串,判断每行字符串是否可以作为JAVA语法的合法标识符。 判断合法标识符的规则:由字母、数字、下划线“_”、美元符号“ Input10EOFOutputJAVAtrue;falseSampleInputabctest ” 组 成 , 并 且 首 字 母 不 能 是 数 字 。 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();
    }
}

你可能感兴趣的:(java,acm)