java四位数字_java如何判断用户输入的是几位数字?题目:用户名必须为4位数字否则报错...

intnum;intcount=0;printf("请输入一个数:");scanf("%d",&num);while(0!=num){num/=10;count++;}switch(count){case1:printf("是一位数\n");break;case2:printf("是两位数\n");break;...

int num;

int count = 0;

printf("请输入一个数:");

scanf("%d", &num);

while (0 != num)

{

num /= 10;

count++;

}

switch (count)

{

case 1: printf("是一位数\n"); break;

case 2: printf("是两位数\n"); break;

case 3: printf("是三位数\n"); break;

case 4: printf("是四位数\n"); break;

case 5: printf("是五位数\n"); break;

case 6: printf("是六位数\n"); break;

case 7: printf("是七位数\n"); break;

case 8: printf("是八位数\n"); break;

default : printf("大于等于九位\n");

像这样的思路,是不适用的,也不要重复回答啦~因为当你输入0005的时候会判断成用户输了1位数字。所以不符合我的提问.

我的想法

Scanner jp=new Scanner(System.in);

System.out.print("用户名:");

int s1,s2,s3,s4;

int s1=jp.nextInt();

int s2=jp.nextInt();

int s3=jp.nextInt();

int s4=jp.nextInt();

if(0<=s1)

{

}if(s1<=9)

{

}else

{

System.out.print("输入数字不符合");

}

if(0<=s2)

{

}if(s2<=9)

{

}else

{

System.out.print("输入数字不符合");

}

if(0<=s3)

{

}if(s3<=9)

{

}else

{

System.out.print("输入数字不符合");

}

if(0<=s4)

{

}if(s4<=9)

{

}else

{

System.out.print("输入数字不符合");

}

System.out.println(""+s1+s2+s3+s4);

/**

但是这样的问题出现了一个当用户输入一个数字就得回车一下最后的运行结果大致是这样的

用户名:0

0

0

1

0001

如何又解决这样的问题?

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值