JAVA判断是否为C语言的合法标识符
总时间限制: 1000ms 内存限制: 65536kB
描述
C语言中的合法标识符的定义为:以下划线或字母开头的字母数字串(含下划线)。
完成一个程序实现对输入的n个字符串进行判定,是否为C语言的合法标识符。如果是则输出1,不是则输出0
输入
输入的第一行为一个数字,表明有几个输入字串。
后面每一行为一个长度不超过80的字符串。
输出
对所有输入的字符串进行判断,是合法标识符则输出1,回车。否则输出0,回车。
样例输入
5
hello_world
my god
i
_stdio
008A
样例输出
1
0
1
1
0
代码如下:
```java
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int m=cin.nextInt();//输入有几个输入字串。
int[]id=new int[m];//定义一个数组。
cin.nextLine();//遇到回车停止。
for(int i=0;i<m;i++)
{
String s=cin.nextLine();//输入字符串。
char s1=s.charAt(0);//s1为字符类型,s1为输入字符串s的第一个字符。
char s2[]=s.toCharArray();//将字符串对象中的字符转换为一个字符数组s2。
boolean c= true;//赋值c为true.
for(int t=0;t<s.length();t++)
{
if(s2[t]==' '){ c=false;}
}
if((s1=='_'||(s1>='a'&&s1<='z')||(s1>='A'&&s1<='Z'))&&c){ id[i]=1;}
else id[i]=0;
}
for(int n=0;n<m;n++){ System.out.println(id[n]);}
}
}
## 知识总结;
***1.***
cin.next()不会吸收回车,空格和tab只要遇到回车,空格和Tab就会停止。
cin.nextLine()吸收空格和tab,遇到回车停止。
***2.***
ToCharArray( )的用法,将字符串对象中的字符转换为一个字符数组。
详解释就是:
字符串转换成字符数组后,每个字符的ASC码与字符T的ASC码进行二进制异或运算。最后把结果转换回字符。
**例如:**
String myString="abcd";
char myChar[]=myString.toCharArray();
System.out.println("myChar[1]="+myChar[1]);
输出结果:
myChar[1]=b
解释:
该字符串中共有有a,b,c,d四个字符。
转化为数组元素myChar[1]是数组的第二个元素。
即myChar[1]=b。
***3.***
boolean是java中的布尔型(逻辑型)数据类型,在java中boolean值只能是true和false,而不能用0和1代替,并且一定要小写。
布尔值 true 代表“真”,false 代表“假”。一般关系运算符会返回布尔值的结果。另外,数值的 0、-0、特殊值的 null、NaN、undefined 以及空字符("")都会被解释为 false ,其他值则会被解释为 true 。
**扩展:**
java中创建boolean对象的方法:
1、使用关键词 new 来定义 Boolean 对象。下面的代码定义了一个名为 myBoolean 的逻辑对象:
var myBoolean = new Boolean()
var myBoolean = new Boolean()
注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
2、下面的所有的代码行均会创建初始值为 false 的 Boolean 对象。
var myBoolean = new Boolean();
var myBoolean = new Boolean(0);
var myBoolean = new Boolean(null);
var myBoolean = new Boolean("");
var myBoolean = new Boolean(NaN);
3、下面的所有的代码行均会创初始值为 true 的 Boolean 对象:
var myBoolean = new Boolean(1);
var myBoolean = new Boolean(true);
var myBoolean = new Boolean("true");
var myBoolean = new Boolean("false");
var myBoolean = new Boolean("Bill Gates");