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 falsepackage com.in; import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner reader=new Scanner(System.in); String string; while(reader.hasNext()) { int flag=1; string=reader.nextLine(); char ch[]=string.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]=='$') { //System.out.println("&&"); flag=1; } else { flag=0; break; } } if(flag==1&&ch[i]=='.'&&ch[i+1]=='j'&&ch[i+2]=='a'&&ch[i+3]=='v'&&ch[i+4]=='a') { //System.out.println("**"); flag=1; } else { flag=0; } } else { flag=0; } if(flag==0) System.out.println("false"); else { System.out.println("true"); } } } }
truefalsefalse