得到一个数每一位数字的几种方法

1.(最简单暴力)直接将数字转换为字符串,然后转换为字符数组输出。

     int n=12345;
     char[] chars=String.valueOf(n).toCharArray();
		for(int j=0;j<chars.length;j++){
			System.out.print(chars[j]+" ");
		}

在这里插入图片描述
2.整除法。

		int n=12345;
		List<Integer> list=new ArrayList<Integer>();
		for(int i=10000;i>=1;i/=10){
			list.add(n/i);//将商添加到list中,就是当前的位数。12345/10000=1  所以第一位是1
			n=n-(n/i)*i;//用原来的数减去上一位的大小      12345变为2345
		}
		for(int x:list){
			System.out.print(x);
		}

在这里插入图片描述
3末位取余法。(取出来为倒序)

          //依次得到一个数的每一位(从后往前)
		  int n=12345;
		  int[] a = new int[5];
		  for(int i=0;i<5;i++){
			  a[i] = n%10;   //除以10取余数就是最后一位
			  n /= 10;
		  }
		  for(int x:a){
			System.out.print(x+"  ");
		}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43311389/article/details/82919629