欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

判定Java源文件名称,判定java源文件

来源: javaer 分享于  点击 17121 次 点评:101

判定Java源文件名称,判定java源文件


判定Java源文件名称

Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic

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.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");
	   }

   }
}


相关文章

    暂无相关文章
相关栏目:

用户点评