分析:

整数每一位的求法就是用“/10”和“%10”来求得,但是这道题有2个难点:1.你不知道你得到的是几位数。2.他是从高位到低位进行输出
所以我决定用递归来进行实现:将他的高位递到后面方法中,然后从高位开始进行归的操作,从而实现从高位到低位的输出。

代码实现:

import java.util.Scanner;
public class IntegerEachDigit {
    //输出一个整数的每一位,如:123的每一位是1 , 2 , 3
    public static void Print(int num){
        if(num < 0){            //判断是负数先打印出负号,再将负数变为正数
            System.out.print("-,");
            num *=-1;
        }
        if(num > 9){           //判断是否到个位数,没到就继续递归
            Print(num / 10);
        }
        System.out.print(num % 10+",");//打印当前数字的最低位
    }
    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      while(scanner.hasNextInt()){   //循环输入
          int num = scanner.nextInt();
          Print(num);   //打印方法的调用
          System.out.println();
      }
    }
}

结果:

图片: 请添加图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐