为什么为数组分配值的for循环不起作用?

时间:2019-06-15 04:37:55

标签: java arrays for-loop

我希望程序输出所有输入的数字,但是它只会一遍又一遍地输出数字中的最后一位。

import java.util.Scanner;
public class Example9 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        //asks user to input the first 9 digits of an ISBN
        System.out.println("Enter first nine digits: ");
        int firstNine = input.nextInt();
        int[] digits = new int[9];
        int digitsLeft = firstNine;
        for(int i = digits.length - 1; i > 0; i--) {
            int digit = firstNine % 10;
            digitsLeft = (int) Math.floor(digitsLeft / 10);
            digits[i] = digit;
            System.out.println(digits[i]);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

int digit = firstNine % 10;

必须

int digit = digitsLeft % 10;

此外,使用i > 0,您将不会添加第一位数字。它必须是i >= 0