Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: hora da prática | Desafios 1 2 3 e 6

Só queria mesmo compartilhar a resolução dos exercícios para com os outros, com intuito de analisarem e saber se estou indo bem com as resoluções dos mesmos. Neste de agora, optei por fazer apenas os desafios 1 2 3 e 6. Os fiz por minha conta, sem ir atrás de tópicos ou coisas do tipo com objetivo de me desafiar com objetivo de por em pratico o conhecimento que vim adquirindo ao longo desta semana de estudos. O resultado está logo a baixo:

Desafio 1

1. Crie um programa que solicite ao usuário digitar um número. Se o número for positivo, exiba "Número positivo", caso contrário, exiba "Número negativo".

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

        Scanner scanner = new Scanner(System.in);

        System.out.println("Diga um número:");
        int number = scanner.nextInt();

        System.out.println(number >= 0 ? "Número positivo" : "Número negativo");

        scanner.close();
    }
}

Desafio 2

2. Peça ao usuário para inserir dois números inteiros. Compare os números e imprima uma mensagem indicando se são iguais, diferentes, o primeiro é maior ou o segundo é maior.

public class Comparator {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("Digite um numero: ");
        int number = sc.nextInt();
        System.out.println("Digite outro numero: ");
        int number2 = sc.nextInt();

        System.out.println(
                number == number2 ? "Números iguais" :
                number > number2 ? "Números diferentes & Primeiro número maior" :
                "Números diferentes & Segundo número maior"
        );
        sc.close();
    }
}

Desafio 3

3. Crie um menu que oferece duas opções ao usuário: "1. Calcular área do quadrado" e "2. Calcular área do círculo". Solicite a escolha do usuário e realize o cálculo da área com base na opção selecionada.

public class AreaCalculate {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String text = """
                =============(@)============
                1. Calcular área do quadrado
                2. Calcular área do círculo
                =============(@)============
                """;

        int number;
        do {
            System.out.println(text);
            number = sc.nextInt();
        } while (number < 1 || number > 2);

        System.out.println("Qual o raio do circulo ou lado do quadrado?");
        System.out.println(
                number == 1 ?
                String.format("A área do quadrado é %dcm%n", squareArea(sc)) :
                String.format("A área do circulo é:  %.2fcm%n", circleArea(sc))
        );

        sc.nextLine();
    }

    /**
     * Function to calculate circle area
     * @param radius Size of the radius of the circumference
     * @return Returns the area of the circumference
     */
    private static double circleArea(Scanner radius) {
        double area = radius.nextDouble();
        return Math.PI * Math.pow(area, 2);
    }

    /**
     * Function to calculate square area
     * @param side Square Side
     * @return Returns the square area
     */
    private static int squareArea(Scanner side) {
        int area = side.nextInt();
        return area * area;
    }
}

Desafio 6

6. Crie um programa que solicite ao usuário um número e calcule o fatorial desse número.

public class Factorial {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("Digite um numero: ");
        System.out.printf("O fatorial do número escolhido é %d", fatorial(sc));
        sc.close();
    }

    /**
     * Calculates the factorial of a given number.
     * @param args1 Scanner object to read user input.
     * @return The factorial of the input number.
     */
    private static long fatorial(Scanner args1) {
        long factorialNumber = args1.nextLong();
        for (long i = factorialNumber - 1; i > 0; i--) {
            factorialNumber *= i;
        }
        return factorialNumber;
    }
}

Espero que se alguém que entrar mais para frente, que estiver com dificuldade, essas resoluções o possam ajuda-lo.

1 resposta
solução!

Oi, Rick!

Obrigada por compartilhar suas resoluções com a comunidade Alura. É ótimo ver como você está colocando em prática o que aprendeu ao longo da semana.

Gostei de como você utilizou o operador ternário para simplificar as condições nos Desafios 1 e 2. Isso demonstra que você já está buscando escrever um código mais conciso e eficiente. E, separar os cálculos de área em métodos específicos no Desafio 3 torna seu código mais modular e legível. No Desafio 6, o uso de for para calcular o fatorial está muito bem implementado, mostrando domínio da lógica.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

bons estudos