我是新人,问问JAVA判断问题

newzwshuai 2011-11-30 02:29:52
public class test1 {
public static void main(String[] args) {
System.out.println("请输入身份证:");
Scanner input = new Scanner(System.in);
String sfz = input.next();

if (sfz.length() != 16 && sfz.length() != 18) {
System.out.println("身份证应该是16位或者18位");
}
System.out.println("请输入手机号码:");
String phone=input.next();
if(phone.length()!=11){
System.out.println("请正确输入手机号码");
}
System.out.println("请输入座机号码:");
String iphone=input.next();
int i=iphone.indexOf("-");
if(iphone.substring(0, i).length()!=4&&iphone.length()!=8){
System.out.println("你的座机,区号应该是4位或者密码应该是8位");
}
}
}





为什么我用“&&”判断,打16位的身份证号码或18的号码,不会出现if判断语句 我换成 “||” 判断,就会出现if判断语句
&&不是并且的意思吗,并且的话应该符合2个判断的语句,可是不判断, ||是或者的意思,反而出现判断语句


这些都前提是,我输入正确格式的身份证号码
...全文
19 1 点赞 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
_jerrytiger 2011-11-30
代码没问题 。你再试试。

System.out.println("请输入座机号码:");
String iphone=input.next();
int i=iphone.indexOf("-");
if(i != -1){if(iphone.substring(0, i).length()!=4&&iphone.length()!=8){
System.out.println("你的座机,区号应该是4位或者密码应该是8位");
}}else{System.out.println("格式不正确")}


这里最好判断一下 。i 是不是等于-1 因为可能不能输入-
  • 打赏
  • 举报
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2011-11-30 02:29
社区公告
暂无公告