我是新人,问问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个判断的语句,可是不判断, ||是或者的意思,反而出现判断语句


这些都前提是,我输入正确格式的身份证号码
...全文
43 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
_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 因为可能不能输入-

23,409

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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