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

[Projeto] Desafios

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

    //Classe PESSOA
    class pessoa {
        void saudacao() {
            System.out.println("Olá, mundo!");
        }
    }

    //Classe CALCULADORA
    class Calculadora {
        int dobrarNumero(int numero) {
            return numero * 2;
        }
    }

    //Classe MUSICA
    class Musica {
        String titulo;
        String artista;
        int anoLancamento;
        double somaDasAvaliacoes;
        int numAvaliacoes;

        void exibeFichaTecnica() {
            System.out.println("Título: " + titulo);
            System.out.println("Artista: " + artista);
            System.out.println("Lançamento: " + anoLancamento);
        }

        void avalia(double nota) {
            somaDasAvaliacoes += nota;
            numAvaliacoes++;
        }

        double pegaMedia() {
            return somaDasAvaliacoes / numAvaliacoes;
        }
    }

    //Classe CARRO
    class Carro {
        String modelo;
        int ano;
        String cor;

        void exibeFichaTecnica() {
            System.out.println("Modelo: " + modelo);
            System.out.println("Ano: " + ano);
            System.out.println("Cor: " + cor);
        }

        int calcularIdade(int anoAtual) {
            return anoAtual - ano;
        }
    }

    //Classe ALUNO + Definições e uso
    class Aluno {
        String nome;
        int idade;

        void exibeInformacoes() {
            System.out.println("Nome do Aluno: " + nome);
            System.out.println("Idade: " + idade);
        }
    }
    // NO ARQUIVO PRINCIPAL (Onde você roda o código):
    // Aluno aluno1 = new Aluno();
    // aluno1.nome = "Bernardo";
    // aluno1.idade = 15;
    // aluno1.exibeInformacoes();

 }
}
1 resposta
solução!

Oi, Giulia! Como vai?

Analisei sua resolução e notei que você reuniu todas as classes dentro do método main da classe TestesGerais. Embora o Java permita o uso de Local Classes, no dia a dia da programação e pra seguir as boas práticas da Orientação a Objetos, o ideal é que cada classe seja definida fora de métodos.

Organização das Classes:

Em Java, costumamos declarar cada classe em seu próprio arquivo ou, se estiverem no mesmo arquivo para fins de exercício, declará-las fora do bloco main. Isso garante que elas possam ser instanciadas corretamente e mantêm a organização.

Observações sobre os Desafios:

  • Classe Pessoa: Seu método saudacao está correto. Lembre-se que por convenção, nomes de classes começam com letra maiúscula (ex: Pessoa em vez de pessoa).
  • Classe Carro: Gostei de como você passou o anoAtual como parâmetro no método calcularIdade. Isso torna o método flexível para qualquer ano que o usuário desejar consultar.
  • Classe Musica: A lógica de acumular as notas e contar as avaliações para depois calcular a média está perfeita.

Exemplo de Estrutura Recomendada

Pra que você possa testar todos os seus objetos, a estrutura ficaria mais clara desta forma:

// As classes ficam fora da classe principal ou em arquivos separados
class Pessoa {
    void saudacao() {
        System.out.println("Olá, mundo!");
    }
}

public class TestesGerais {
    public static void main(String[] args) {
        // Agora instanciamos e usamos os objetos aqui
        Pessoa pessoa1 = new Pessoa();
        pessoa1.saudacao();

        // Exemplo com a sua classe Aluno
        // Aluno aluno1 = new Aluno();
        // aluno1.nome = "Bernardo";
        // aluno1.idade = 15;
        // aluno1.exibeInformacoes();
    }
}

Parabéns pela dedicação nos exercícios! Continue explorando como os atributos guardam o estado do objeto e como os métodos definem o comportamento deles.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!