java中变量的命名规则:
[1]$,数字,下划线打头;后面可以是数字,字母,下划线;
[2]当然变量自然不能是java中的关键字了(程序中还没做判断)
[3]下面是实现的1.0版本,程序还有需要改进的地方,大家不妨指出啊
package com.img.algorithm;
import java.util.Scanner;
/**
* @author Bruce
* @since 1.0
*
*/
public class CheckJavaName {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
String name = sca.next();
String result = checkJavaName(name);
System.out.println(result);
}
/**
* @param variable name of java
* @return true if name is acceptable else return false
*/
private static String checkJavaName(String name)
{
//the variable could not be null or empty and ""
if(name == null || name.length() == 0 || name.trim() == "")
return "Variable of java could not empty , null or \"\"!";
//check the first character
char first = name.charAt(0);
if(!isFirstChar(first))
{
return "The first character of java variable is invalid!";
}
//check the content of the name after the first character
for(int i = 1; i < name.length(); i++){
char c = name.charAt(i);
if((!Character.isLetterOrDigit(c)) && (c != '_'))
return "The remaining content contains invalid characters"; }
return null;
}
/**
* @param A character
* @return true if the char contains in the list else return false
*/
private static boolean isFirstChar(char c)
{
switch(c){
case 'A': return true;
case 'B': return true;
case 'C': return true;
case 'D': return true;
case 'E': return true;
case 'F': return true;
case 'G': return true;
case 'H': return true;
case 'I': return true;
case 'J': return true;
case 'K': return true;
case 'L': return true;
case 'M': return true;
case 'N': return true;
case 'O': return true;
case 'P': return true;
case 'Q': return true;
case 'R': return true;
case 'S': return true;
case 'T': return true;
case 'U': return true;
case 'V': return true;
case 'W': return true;
case 'X': return true;
case 'Y': return true;
case 'Z': return true;
case 'a': return true;
case 'b': return true;
case 'c': return true;
case 'd': return true;
case 'e': return true;
case 'f': return true;
case 'g': return true;
case 'h': return true;
case 'i': return true;
case 'j': return true;
case 'k': return true;
case 'l': return true;
case 'm': return true;
case 'n': return true;
case 'o': return true;
case 'p': return true;
case 'q': return true;
case 'r': return true;
case 's': return true;
case 't': return true;
case 'u': return true;
case 'v': return true;
case 'w': return true;
case 'x': return true;
case 'y': return true;
case 'z': return true;
case '_': return true;
case '$': return true;
}
return false;
}
}
注释:对于函数isFirstChar的实现有没有更加简单的实现呢?这里的时间复杂度是O(1)
分享到:
相关推荐
实例95 Java合法标识符 122 实例96 显示一周各星期的名称 123 实例97 构造空心方框 124 实例98 这一天是星期几 125 实例99 大小写互换 127 实例100 输出指定范围的素数 128 实例101 我...
实例95 Java合法标识符 122 实例96 显示一周各星期的名称 123 实例97 构造空心方框 124 实例98 这一天是星期几 125 实例99 大小写互换 127 实例100 输出指定范围的素数 128 实例101 我出现了几次 129 实例102 算术...
" "不同单词出现在相同变量名里时要用下划线相连 " "三 程序名字 " "文件Simple.java " "只是一个输出信息的简单程序。这个程序的名称用的是Simple,但其实我们" "可以选一个其他的标识符来表示程序名,只要我们...
实例95 Java合法标识符 122 实例96 显示一周各星期的名称 123 实例97 构造空心方框 124 实例98 这一天是星期几 125 实例99 大小写互换 127 实例100 输出指定范围的素数 128 实例101 我出现了几...
实例95 Java合法标识符 122 实例96 显示一周各星期的名称 123 实例97 构造空心方框 124 实例98 这一天是星期几 125 实例99 大小写互换 127 实例100 输出指定范围的素数 128 实例101 我出现了几次 129 实例102...
实例004 验证Java开发环境 7 实例005 下载并安装JRE执行环境 8 实例006 编程输出星号组成的等腰三角形 9 1.2 开发工具 11 实例007 下载最新的Eclipse 11 实例008 为最新的Eclipse安装中文语言包 12 实例009 活用...
实例95 Java合法标识符 122 实例96 显示一周各星期的名称 123 实例97 构造空心方框 124 实例98 这一天是星期几 125 实例99 大小写互换 127 实例100 输出指定范围的素数 128 实例101 我出现了几次 129 实例102 算术...
注:方法名中的参数int a,int b为局部变量 类方法中的一类特殊方法:构造方法。 构造方法是当用类生成对象时,系统在生成对象的过程中利用的方法。 注意:构造方法在生成对象的时候会被调用,但并不是构造方法生成...
系统变量中进行JAVA_HOME、CLASSPATH、Path三个变量的配置,有的编辑,没有的新建。新建JAVA_HOME对应C:\Program Files\Java\Jdk1.8、新建CLASSPATH对应.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar、编辑Path的...
以下这些情况都可以引发异常:您的代码或调用的代码(如共享库)中有错误,操作系统资源不可用,公共语言运行库遇到意外情况(如无法验证代码),等等<BR><BR>《Exception Handling for C++》关于异常处理论文,向...
2.11 用文件和名空间组织代码 54 2.12 导入类型及其成员 55 2.12.1 导入是相对的 56 2.12.2 包对象 57 2.13 抽象类型与参数化类型 57 2.14 本章回顾与下一章提要 59 第3章 要点详解 60 3.1 ...
所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。 $g_var = 1 ; // 全局范围 function test() { global $g_var; // 这样...
(x) 匹配x保存x在名为$1...$9的变量中 x|y 匹配x或y {n} 精确匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符) [^xyz] 不匹配这个集合中的任何一个...
ANT十五大最佳实践 http://www.oreilly.com.cn/news/ant15toppractices.php?c=javaTutorial:Hello World with Ant http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html ANT:解压,设置两项环境变量:ANT...
3、我们推崇高质量的代码,身为开发,代码即利剑,键盘上一套行云流水,宛如侠客,事了拂衣去,深藏身与名。4、我们推崇团队的高度配合默契、互相帮助,从不加班,而不是一看到别人的代码就头皮发麻,留其996.ICU5、...
3、我们推崇高质量的代码,身为开发,代码即利剑,键盘上一套行云流水,宛如侠客,事了拂衣去,深藏身与名。 4、我们推崇团队的高度配合默契、互相帮助,从不加班,而不是一看到别人的代码就头皮发麻,留其996.ICU ...