+ -
当前位置:首页 → 问答吧 → 一个字串,含有五个字元,要检查第一个是大写英文,另外四个是数字

一个字串,含有五个字元,要检查第一个是大写英文,另外四个是数字

时间:2011-10-25

来源:互联网

这个题目是使用者输入一个字串,若字串第一个是大写英文,另外四个是数字,则列印出"RIGHT FORMAT"
其他则印出"WRONG FORMAT"
我先列出我打到一半的程式码:
[CODE]
public class advance2{
public static void main(String args[]){
String course_number;
System.out.println("please input course number");
course_number=ConsoleIn.readLine();
String course=course_number.trim();
String first=course.substring(0,1);/*用substring把course字串分成第一个字元和后面四个字元*/
String last=course.substring(1);
int number=Integer.parseInt(last);/*检查后面4个必须是数字*/
if(course.length()==5&&first.equals(first.UpperCase())&&number){
System.out.println("right format");
}
else if(
[end]
大家一定知道上面程式码的问题吧
问题1:如果第一个字元是数字,first.equals(first.UpperCase())绝对检查不出来
问题2:如果后面4个字元不是数字,int number=Integer.parseInt(last)这串程式码会执行出错误
我的想法是:
可以检查第一个字元是不是英文字母,后面四个字元是不是数字,我觉得用String型别会有以上二个问题发生.有没有甚么好方法?我有听说用ASCII码或是万国码可以解决,要怎么用?

作者: b1992810129   发布时间: 2011-10-25

如果宣告一个字串"ABCD...Z"去比对
会不会比去比对ASCII或UNICODE还要来的简单些

另外number若四个全是0的话
你的if condition就错了

作者: mikechen   发布时间: 2011-10-25