Я хотел бы сохранить цифры числа по отдельности в массиве / arraylist и записать их в заданном порядке. Любые предложения, что я делаю не так?

#java #arrays #arraylist #numbers #digits

#java #массивы #arraylist #числа #цифры

Вопрос:

Я хотел бы сохранить цифры числа по отдельности в массиве / arraylist и записать их в заданном порядке. Любые предложения, что я делаю не так?

 import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

class Main {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    List<Integer> digits = new ArrayList<Integer>();
    
    int number = scanner.nextInt();
    
    while (number > 0) {
        int digit = number % 10; // Store digit in a variable
        number = number/10;
        digits.add(digit); // Add digit to the list
    }
    System.out.println(digits.get(1, 0)); //given the scanned number eg. 23, i'd like to write out 32
}
}
 

Комментарии:

1. Каков результат при запуске этого? Если это исключение, пожалуйста, скопируйте и вставьте его в вопрос. Если вывод неверен, пожалуйста, добавьте входные данные, ожидаемый результат и фактический результат.

2. digits.get(1, 0) неправильный синтаксис. Вам нужно пройти через ArrayList, чтобы прочитать все перевернутое число. Кроме того, вместо использования ArrayList вы можете просто создать обратное число в цикле while.

Ответ №1:

Если я правильно понял, вам просто нужно распечатать цифры? потому что число правильно добавлено в список.

Просто замените

     System.out.println(digits.get(1, 0));
 

с:

         for (int i = 0; i < digits.size() ; i  ) {
            System.out.print(digits.get(i));
        }