1225: C语言合法标识符

题目

Description

输入一个字符串,判断其是否是C的合法标识符。

Input

输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过150的字符串。

Output

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出”yes”,否则,输出“no”。

Sample Input

3
12ajf
fi8x_a
ff ai_2
Sample Output

no
yes
no


代码块

题目的要求是:第一个字符是字母,剩下的字符,需要是,字符,或数字,或下划线组成的,就可以作为标识符,本来是C语言中的关键字,也不可作为标识符的,但是在这道题中,可以省略

import java.util.Scanner;

public class J1225 {
    public static void main(String[] args) {
        Scanner cn = new Scanner(System.in);
        int n = cn.nextInt();
        cn.nextLine();
        while (n-- > 0) {
            String str = cn.nextLine();
            if (!Character.isLetter(str.charAt(0)) && str.charAt(0) != '_') {
                System.out.println("no");
                continue;
            }
            int i = 1;
            for (; i < str.length(); i++) {
                if (Character.isLetter(str.charAt(i))
                        || Character.isDigit(str.charAt(i))
                        || str.charAt(i) == '_')
                    continue;
                else
                    break;
            }
            if (i == str.length())
                System.out.println("yes");
            else
                System.out.println("no");
        }
        cn.close();
    }
}

你可能感兴趣的:(acm编程)