Problem Description
输入若干行字符串,判断每行字符串是否可以作为JAVA语法的合法标识符。 判断合法标识符的规则:由字母、数字、下划线“_”、美元符号“$”组成,并且首字母不能是数字。
Input
输入有多行,每行一个字符串,字符串长度不超过10个字符,以EOF作为结束。
Output
若该行字符串可以作为JAVA标识符,则输出“true”;否则,输出“false”。
Sample Input
abc
_test
$test
a 1
a+b+c
a’b
123
变量
Sample Output
true
true
true
false
false
false
false
true
思路:
用到java里面的两个函数
Character.isJavaIdentifierStart();//判断是否符合标识符开头;
Character.isJavaIdentifierPart();//判断是否符合其他部分;
注意:
s = str.charAt(i);//方法可返回第i个位置的字符
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String str;
char s;
int i, n, flag;
while (input.hasNext()) {
str = input.nextLine();
flag = 1;
n = str.length();
for (i = 0; i < n; i++) {
s = str.charAt(i);
if (i == 0) {
if (Character.isJavaIdentifierStart(s)) {
flag = 1;
} else {
flag = 0;
break;
}
} else {
if (Character.isJavaIdentifierPart(s))
flag = 1;
else {
flag = 0;
break;
}
}
}
if (flag == 1)
System.out.println("true");
else
System.out.println("false");
}
}
}