1
resposta

Praticando laços (while)

Boa noite, pessoal.

Segue a solução que adotei.

import java.util.Scanner;

public class Degraus {
    public static void main(String[] args) {

        Scanner scanner = new Scanner (System.in);

        System.out.println("Digite o número de degraus: ");
        int degraus = scanner.nextInt();

        while (degraus >= 1) {
            System.out.println("Subindo o degrau: " +degraus);
            degraus -= 1;
            if (degraus == 0) {
                System.out.println("Você chegou ao topo!");
            }
            scanner.close();

        }
    }
}
1 resposta

Parabéns man, está no caminho certo!
Segue uma solução um pouquinho mais elegante:

import java.util.Scanner;

public class Degraus {
    public static void main(String[] args) {
        // O try-with-resources gerencia e fecha o Scanner automaticamente
        try (Scanner scanner = new Scanner(System.in)) {
            System.out.print("Digite o número de degraus: ");
            int degraus = scanner.nextInt();

            // Um laço 'for' é mais semântico quando sabemos o número exato de iterações. Como vamos pedir para o usuário esse número, fica claro gerenciar dessa forma
            
            for (int i = 1; i <= degraus; i++) {
                System.out.println("Subindo o degrau: " + i);
            }

            // A validação do topo fica fora do laço para evitar checagens desnecessárias
            if (degraus > 0) {
                System.out.println("Você chegou ao topo!");
            }
        }
    }
}