判定Java源文件名称
Time Limit: 1000 ms
Memory Limit: 65536 KiB
Problem Description
输入若干行字符串,判断每行字符串是否可以作为Java的源文件名称。其中:
Java源文件的命名规则:合法的 Java标识符+“.java”;
Java标识符的命名规则:可包含字母、数字、下划线、$,但是数字不能作为首字母。
Input
输入有多行,每行一个字符串。
Output
若该行字符串可做为Java的源文件名称,则输出“true”;否则,输出“false”。
Sample Input
abc.java _test $test.java $12.java a 1.java a+b+c.java a’b.java 123.java 变量.java Main.java.java ab abc.java
Sample Output
true false true true false false false false true false false
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()) {
String ch = cin.nextLine();
if(ch.endsWith(".java") && Character.isJavaIdentifierStart(ch.charAt(0))) {//如果该字符串是以.java结尾并且是以JAVA合法标识符开头
int i;
for(i = 1; i < ch.length() - 5; i++) {
if(!Character.isJavaIdentifierPart(ch.charAt(i))) {//如果该字符不是JAVA合法标识符
break;
}
}
if(i>= ch.length()-5) {
System.out.println("true");
}
else {
System.out.println("false");
}
}
else {
System.out.println("false");
}
}
}
}