判断java源文件名称,判断java源文件
分享于 点击 37782 次 点评:188
判断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
Hint
import java.util.*;
import java.lang.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(true){
boolean flag = true;
String s = in.nextLine();
if(!s.endsWith(".java"))
flag = false;
else{
String sub = s.substring(0, s.length()-5);
//System.out.println(sub);
char c = sub.charAt(0);
if(c <= '9' && c>= '0')
flag = false;
for(int i=0; i<sub.length(); ++i){
char temp = sub.charAt(i);
if(temp <= '9' && temp >= '0' || temp <= 'z' && temp >= 'a' ||temp == '$' || temp == '_' || (int)temp >= 19968 && (int)temp <= 171941){
//强制转换为int判断其ASCII是否在19968-171941区间目的是判断是否为汉字
continue;
}
else{
flag = false;
break;
}
}
}
if(flag)
System.out.println("true");
else
System.out.println("false");
}
}
}
或者可用Character.isLetter(char c) Character.isLetterOrDigit(char c)等方法进行判断可能更为简便
import java.util.*;
import java.lang.*;
import java.math.*;
import java.text.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
boolean flag = false;
String s = in.nextLine();
if(Character.isJavaIdentifierStart(s.charAt(0))){
flag = true;
for(int i=1; i<s.length()-5; ++i){
if(!Character.isJavaIdentifierPart(s.charAt(i))){
flag = false;
break;
}
}
}
if(s.endsWith(".java") && flag)
System.out.println("true");
else
System.out.println("false");
}
}
}
相关文章
- 暂无相关文章
用户点评