如何分别打印给定数字的每个数字?

我写了一个应该分别打印每个数字的代码。这是一个例子。

printDigits(1362) prints
2
6
3
1

printsDigits(985) prints
5
8
9

您可以使用/ 10% 10将数字分解成数字。

我已经按照我的教学方式开始了一些代码,但是我不确定如何处理其他变量。 请看看:

public class Main {

  public static void main(String[] args) {
    System.out.println(printDigits(1362));
    System.out.println(printDigits(985));
    }

  public static int printDigits(int x){
    int y = x % 10;
    while (x > 0){
      x = y;
      System.out.println(x);
      x = x / 10;
    }
   return x;
   }
}
bmw3i8is 回答:如何分别打印给定数字的每个数字?

为什么不将参数x转换为String,然后读取String中的每个Char,因为String是Char的数组。如果输出必须为int,则将Char转换为int。

,

您需要在循环内写int y = x % 10;来“拉开”每个数字并打印出您已经“拉出”的数字y。 删除函数调用周围的System.out.println。 您不需要返回数字,因此可以将返回类型更改为void

public class Main {
    public static void main(String[] args) {
        printDigits(1362);
        System.out.println();
        printDigits(985);
    }

    public static void printDigits(int x) {
        while (x > 0) {
            int y = x % 10;
            System.out.println(y);
            x = x / 10;
        }
    }
}
,

printDigits方法应如下:

public static void printDigits(int x) {
    int y;
    while (x > 0) {
        y = x % 10;
        System.out.println(y);
        x = x / 10;
    }
}

该方法的调用将如下所示:

printDigits(1362); // without the System.out.println()
,

有多种方法可以达到这种效果。您可以更好地了解这些answers中的所有解决方案。

,
public static void printDigits(int num) {
    while(num>0) {
        int remainder = num%10;
        num = num/10;
        System.out.println(remainder);
        printDigits(num);
    }

}

您可以使用递归来提高效率。

本文链接:https://www.f2er.com/3112433.html

大家都在问