杭电2024java的,搞了半天搞出来了,不知道哪有问题,求大神教

AMX50B 2015-05-21 11:57:10
题目:
欢迎参加: 浙江杭电{安控杯}Hackthon

C语言合法标识符
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 45421 Accepted Submission(s): 18310


Problem Description
输入一个字符串,判断其是否是C的合法标识符。



Input
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。



Output
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。



Sample Input
3
12ajf
fi8x_a
ff ai_2


Sample Output
no
yes
no



代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main{
public static void main(String args[]) throws IOException{

Scanner c=new Scanner(System.in);
BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));
while(c.hasNext()){
String s;
int n=c.nextInt();
for(int i=0;i<n;i++){
s=cin.readLine();
int t=1;
if(s.charAt(0)=='_'||s.charAt(0)>='a'&&s.charAt(0)<='z'||s.charAt(0)>='A'&&s.charAt(0)<='Z')
for(int j=1;j<s.length();j++){
if(s.charAt(j)=='_'||s.charAt(j)>='a'&&s.charAt(j)<='z'||s.charAt(j)>='A'&&s.charAt(j)<='Z'||s.charAt(j)>='1'&&s.charAt(j)<='9')
t=1;
else
{
t=0;
break;
}
}

else
t=0;

if(t==1)
System.out.println("yes");
else
System.out.println("no");
}
}
}
}
...全文
152 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧