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

判断java源文件名称,判断java源文件

来源: javaer 分享于  点击 37782 次 点评:188

判断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

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


相关文章

    暂无相关文章
相关栏目:

用户点评