判定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
t e s t . j a v a 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
Hint
Source
zhouxq

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner ss = new Scanner(System.in);
        String name;
        while (ss.hasNextLine()) {
            name = ss.nextLine();
            if (isLegalJavaName(name) && name.endsWith(".java")) {
                System.out.println(true);
            } else {
                System.out.println(false);
            }
        }
        ss.close();
    }

    static boolean isLegalJavaName(String javaname) {

        if (Character.isJavaIdentifierStart(javaname.charAt(0))) {
            for (int i = 1; i < javaname.length() - 5; i++) {
                if (!Character.isJavaIdentifierPart(javaname.charAt(i))) {
                    return false;
                }
            }
        } else {
            return false;
        }
        return true;
    }
}

猜你喜欢

转载自blog.csdn.net/weiwjacsdn/article/details/80292867