Java 编写程序实现给一个不多于5位的正整数,求它是几位数,并且逆序打印出各位数字。自己实在编不 30

Java编写程序实现给一个不多于5位的正整数,求它是几位数,并且逆序打印出各位数字。自己实在编不出来,不学这个的…完整的能编译的!... Java 编写程序实现给一个不多于5位的正整数,求它是几位数,并且逆序打印出各位数字。自己实在编不出来,不学这个的…完整的能编译的! 展开
 我来答
般码宫
2017-07-04 · 子非鱼,安知阴阳鱼乐
般码宫
采纳数:221 获赞数:458

向TA提问 私信TA
展开全部
	public static void convert(int num) {

if (num < 0) {

System.out.println("输入一个正整数!");
return;

}

// 求位数
int step = 1;
int result;
int temp = 10;
while (true) {

result = num / temp;

if (result > 0) {
temp *= 10;
step++;
} else {
System.out.println("位数:" + step);
break;
}

}

// 反转
String numStr = String.valueOf(num);

char[] newNum = new char[numStr.length()];

for (int i = 0, j = numStr.length(); i < j; i++) {

newNum[j - i - 1] = numStr.charAt(i);

}

System.out.println("反转后:" + String.valueOf(newNum));

}

你试试可以不,没想到好的,这个方法感觉有点麻烦

感性的刚出门
2019-10-29
知道答主
回答量:1
采纳率:0%
帮助的人:684
展开全部
纯逻辑判断 没用任何循环
public static void main(String[] args){
int a1=0;
Scanner scan=new Scanner(System.in);
System.out.println("请输入一个5位数以内的整数");
a1=scan.nextInt();
if(a1>=0&&a1<=99999) //用来判断输入的数据是否符合规则
{
if(a1>=0&&a1<=9) //以下为判断位数
{System.out.println("该数是个位数");}
else
if(a1>=10&&a1<=99)
{System.out.println("该数是二位数");}
else
if(a1>=100&&a1<=999)
{System.out.println("该数是三位数");}
else
if(a1>=1000&&a1<=9999)
{System.out.println("该数是四位数");}
else
if(a1>=10000&&a1<=99999)
{System.out.println("该数是五位数");}

int b1,b2,b3,b4,b5; //以下代码为逆序输出
b1=a1%10;
b2=a1/10%10;
b3=a1/100%10;
b4=a1/1000%10;
b5=a1/10000%10;
if(b2==0&&b3==0&&b4==0&&b5==0)
{System.out.println("逆序输出为:"+b1);}
else
if(b3==0&&b4==0&&b5==0)
{System.out.println("逆序输出为:"+b1+b2);}
else
if(b4==0&&b5==0)
{System.out.println("逆序输出为:"+b1+b2+b3);}
else
if(b5==0)
{System.out.println("逆序输出为:"+b1+b2+b3+b4);}
else
{System.out.println("逆序输出为:"+b1+b2+b3+b4+b5);}
}
else
System.out.println("您输入的数据有误,请重新输入");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
k寂寞的小炮
推荐于2017-07-05 · TA获得超过464个赞
知道小有建树答主
回答量:469
采纳率:59%
帮助的人:182万
展开全部
import java.util.Scanner;

public class D {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入一个整数:");

int a = scanner.nextInt();
int weishu = 1;

while(a>10){
a /= 10;
weishu++;
}

System.out.print("这是"+weishu+"位数");
}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洋依辰7i
2015-05-15 · TA获得超过141个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:202万
展开全部
public class Test {

public static void main(String[] args) {
int i = 12345;

System.out.println("length: "
+ Integer.toString(i).length()
+ ", reverse: "
+ org.apache.commons.lang.StringUtils.reverse(Integer
.toString(i)));
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式