Problem Description
输入若干行字符串,判断每行字符串是否可以作为Java的源文件名称。其中:
Java源文件的命名规则:合法的 Java标识符+“.java”;
Java标识符的命名规则:可包含字母、数字、下划线、$,但是数字不能作为首字母。
Input
输入有多行,每行一个字符串。
Output
若该行字符串可做为Java的源文件名称,则输出“true”;否则,输出“false”。
Example 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
Example 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 in = new Scanner(System.in);
while(in.hasNext()){
int flag = 1;
String str = in.nextLine();
char ch[] = str.toCharArray();
int i;
if(Character.isLetter(ch[0])||ch[0]=='_'||ch[0]=='$'){
for(i = 1; i < ch.length-5; i++){
if(Character.isLetterOrDigit(ch[i])||ch[i]=='_'||ch[i]=='$')
flag = 1;
else{
flag = 0;
break;
}
}
if(ch[i]=='.' && ch[i+1]=='j' &&ch[i+2]=='a' && ch[i+3]=='v'&& ch[i+4]=='a'&&flag==1)
flag = 1;
else
flag = 0;
}
else
flag = 0;
if(flag == 1)
System.out.println("true");
else
System.out.println("false");
}
}
}