请输入一个整数,并且输出它是几位数,并且逆序输出各位数字。

首先想这个问题的核心,输出几位数用while循环直接累加到count。

但是逆序输出数字的时候,要考虑到如果数字是1000的话,输出0001是不太现实的,所以我目前这个方法是将整形转化为数组,在将数组转化来进行操作。

但是在刚开始对输入的数字进行累加求几位数的时候,此时,这个值已经因为执行的原因发生变化了,所以,我用了一个最笨叶适最简单的方法,将值在执行之前赋值给另一个值,相同的值不同的变量进行不同的方法执行。

但是这个整数时有范围的,int类型的值是有一个取值范围的,可以改成Long类型的,这样求的数值的范围会大很多,但是没他打的用处。

后面用的整形和数组的转化是x[i]=Integer.parseInt(String.valueOf(num.charAt(i)))
下面见全部的代码详细:

新手小白,仅记录自己的习题,还待改进,请多支持。

package practice3;
import java.util.Scanner;
public class Test9 {
	public static void main(String args[]) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个的整数:");
		int m = input.nextInt();
		int n1= m;
		int count=0;
		while(m>=1) {
			m /=10;
			count++;
		}
		System.out.println("您输入的数字是"+count+"位。");
		System.out.println("请逆序打印出各位数字:");
		String num = String.valueOf(n1);
		int [] x = new int [num.length()];
		for (int i = 0; i <num.length(); i++) {
			x[i]=Integer.parseInt(String.valueOf(num.charAt(i)));    //API文档   查找String.valueof
		}
//		for (int i = 0; i < num.length(); i++) {
//			System.out.print(x[i]+" ");
//		}
			int arr1[]= new int[x.length];
			for (int i1 = 0,j=x.length-1; i1 < x.length; i1++,j--) {
				arr1[j]= x[i1];
			}
			for (int i = 0; i < arr1.length; i++) {
				System.out.print(arr1[i]+"\t");
			}
			}
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值