public class Student{
private String name;
private String id;
private String gender;
private String clazz;
private String major;
public Student(String id){
this.id=id;
}
public static boolean check(String id){
if(id.length()!= 10){
return false;
}
else{
for(int i=0;i < id.length();i++){
if( ! Character.isDigit(id.charAt(i))){
return false;
}
else{
String z=id.substring(5,7);
int y=Integer.parseInt(z);
if(y > 0 && y < 13){
return false;
}
}
}
}
return true;
}
public static void main(String[]args){
String id="2019080301";
System.out.println(Student.check(id));
id="20190803012";
System.out.println(Student.check(id));
id="201a080308";
System.out.println(Student.check(id));
id="201908030b";
System.out.println(Student.check(id));
id="2019000303";
System.out.println(Student.check(id));
id="2019130304";
System.out.println(Student.check(id));
id="201913030";
System.out.println(Student.check(id));
}
}
打印结果是true false false false true true false
1)id长度为10位
(2)id全部是数字字符
(3)第5、6位表示学院,必须是01到12之间(可以等于01和12)
id符合上述条件,返回true;否则返回false
题目要求
String z=id.substring(5,7); // 问题1、如果要获取月份,应该是4,6 索引是从0开始的
int y=Integer.parseInt(z);
if(y > 0 && y < 13){ // 问题2、满足条件才是true 吧
return false;
}
// 问题3 这个代码应该分两个方法去做,一个判断是否满足都是数字,一个去判断月份是否满足(这个不需要循环判断)
id="20190803012";这个是11位了,返回假哦
id="201913030";这个是9位,也为假
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
if(y > 0 && y < 13){
return false;
这个条件写反了吧,应该是if(y<= 0 || y > =13) return false;这是检查月份有效性吧,不是1-12月就无效
String z=id.substring(5,7);要改为String z = id.substring(4,6)
public class Student{
private String name;
private String id;
private String gender;
private String clazz;
private String major;
public Student(String id){
this.id = id;
}
public static boolean check(String id){
if (id.length() != 10){
return false;
}
else{
for (int i = 0; i < id.length(); i++){
if (!Character.isDigit(id.charAt(i))){
return false;
}
else{
String z = id.substring(4, 6);
int y = Integer.parseInt(z);
if (y <= 0 || y >= 13){
return false;
}
}
}
}
return true;
}
public static void main(String[]args){
String id = "2019080301";
System.out.println(Student.check(id));
id = "20190803012";
System.out.println(Student.check(id));
id = "201a080308";
System.out.println(Student.check(id));
id = "201908030b";
System.out.println(Student.check(id));
id = "2019000303";
System.out.println(Student.check(id));
id = "2019130304";
System.out.println(Student.check(id));
id = "201913030";
System.out.println(Student.check(id));
}
}