Alguém me ajuda. Preciso converter um código Python para Java

Preciso converter este código Python em um código Java.

s = int(input())
a = int(input())
b = int(input())

interval = list(range(a,(b+1)))
interval = [format(x, ‘02d’) for x in interval]

sumInterval = []
for n in interval:
sumInterval.append(sum(int(i) for i in n))

check = 0

for n in sumInterval:
if n == s:
check += 1

print(check)

Para realizar o input no java, vc pode usar a classe Scanner (dá uma pesquisada no fórum que há vários exemplos de uso).

Esse range pode ser feito assim:

IntStream.range(a, (b + 1)).boxed().collect(Collectors.toList());

O format, vc pode dá uma olhada no System.out.printf junto com um for ou forEach.

O resto são iterações simples incrementando uma lista.

Primeiro acho melhor simplificar o código original, aí fica mais fácil “traduzir” pra outra linguagem.

O código está iterando por todos os números entre a e b, e verificando se a soma dos dígitos é igual a s.

Sendo assim, não precisa criar uma lista com todos os números, pode iterar pelo próprio range. E não precisa transformar cada número em string (é isso que o format está fazendo), para depois usar esta string para somar os dígitos (dá pra fazer isso com “continhas” bem básicas). E não precisa guardar tudo em outra lista, só para depois fazer outro for que compara seus valores com s.

Ou seja, o código original poderia ser assim:

def soma_digitos(n):
    soma = 0
    while n > 0:
        n, d = divmod(n, 10)
        soma += d
    return soma

s = int(input())
a = int(input())
b = int(input())

check = 0
# para cada número do range
for n in range(a, b + 1):
    # verifica se a soma dos dígitos é igual a "s"
    if s == soma_digitos(n):
        check += 1

print(check)

Tendo isso, traduzir para Java fica muito mais simples:

public static int somaDigitos(int n) {
    int soma = 0;
    while (n > 0) {
        soma += n % 10;
        n /= 10;
    }
    return soma;
}

public static void main(String[] args) throws Exception {
    Scanner scan = new Scanner(System.in);
    int s = scan.nextInt();
    int a = scan.nextInt();
    int b = scan.nextInt();

    int check = 0;
    // para cada número entre "a" e "b"
    for (int n = a; n <= b; n++) {
        // verifica se a soma dos dígitos é igual a "s"
        if (s == somaDigitos(n)) {
            check++;
        }
    }
    System.out.println(check);
}

Não acho que valha a pena converter o código original, pois como já explicado, eu acho que possui complicações desnecessárias (criar listas à toa, etc). Mas se ainda sim quiser, pode seguir as dicas dadas acima.