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
如何又解决这样的问题?
展开