判定Java源文件名称,判定java源文件
分享于 点击 17121 次 点评:101
判定Java源文件名称,判定java源文件
判定Java源文件名称
Time Limit: 1000MS Memory Limit: 65536KB Submit StatisticProblem 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.math.BigInteger;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
public static int fun(String str){
if(Character.isDigit(str.charAt(0)))
return 0;
for(int i = 1; i < str.length() - 5; i++){
if(!Character.isJavaIdentifierPart(str.charAt(i)))
return 0;
}
return 1;
}
public static void main(String[] args) throws ParseException {
Scanner cin = new Scanner(System.in);
//int n = cin.nextInt();
while(cin.hasNext()){
String str = cin.nextLine();
if(str.endsWith(".java") && fun(str) == 1)
System.out.println("true");
else
System.out.println("false");
}
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){
String str = cin.nextLine();
char s[] = str.toCharArray();
int flag = 0;
int i = s.length-0;
if(i < 6){
System.out.println("false");
continue;
}
if(s[i-5] == '.' && s[i-4] == 'j' &&s[i-5] == 'a' &&s[i-5] == 'v' &&s[i-5] == 'a' )
flag = 0;
else flag = 1;
if(flag == 0){
System.out.println("false");
continue;
}
for( i = 0; i < s.length - 5; i++){
if(s[i] >= '0' && s[i] <= '9'
|| s[i] >= 'a' && s[i] <= 'z'
|| s[i] >= 'A' && s[i] <= 'Z'
|| s[i] == '_'
|| s[i] == '$'
|| (int)s[i]>= 19968 && (int)s[i] <= 171941)//汉字的ASCALL 范围
flag = 1;
else {
flag = 0;
break;
}
}
if(flag == 0){
System.out.println("false");
continue;
}
if(s[0] >= '0' && s[0] <= '9'){
System.out.println("false");
continue;
}
System.out.println("true");
}
}
}
相关文章
- 暂无相关文章
用户点评