3
respostas

Não deixa transferir pro pacote

Não sei o que está acontecendo mas não estou conseguindo transferir a classe para o package
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
3 respostas

Olá Isabella! Tudo bem?

Poderia compartilhar comigo todos os códigos do arquivo Filme.java e Principal.java, pois assim poderei analisar e testar para identificar o seu problema.

Fico aguardo!

Claro! Vou deixar eles aqui.

Filme.java:

public class Filme {

String nome;
int anoDeLancamento;
boolean incluindoNoPlano;
private double somaDasAvaliacoes;
private int totalAvaliacoes;
int duracaoEmMinutos;

//metodos
void exibeFichaTecnica() {
    System.out.println("Nome do filme: " + nome
    + "\nAno de lançamento: " + anoDeLancamento
    + "\nDuração em minutos: " + duracaoEmMinutos);
}

void avalia(double nota) {  //tipo: double e o nome do parametro: nota
    somaDasAvaliacoes += nota;
    totalAvaliacoes++;
}

double obterMedia() {
    return somaDasAvaliacoes/totalAvaliacoes;
}

int getTotalDeAvaliacoes(){
    return totalAvaliacoes;
}

}

Principal.java:
public class Principal {
public static void main(String[] args) {
Filme meuFilme = new Filme();
meuFilme.nome = "O poderoso chefão";
meuFilme.anoDeLancamento = 1970;
meuFilme.duracaoEmMinutos = 180;

    //System.out.println(meuFilme.anoDeLancamento);
    //Filme.nome = "Top Gun";  

    meuFilme.exibeFichaTecnica();
    meuFilme.avalia(8);
    meuFilme.avalia(5);
    meuFilme.avalia(10);
    System.out.println("Total de avaliações: " + meuFilme.getTotalDeAvaliacoes());
    System.out.println(meuFilme.obterMedia());
    /*meuFilme.somaDasAvaliacoes = 10;
    meuFilme.totalAvaliacoes = 1;
    System.out.println(meuFilme.obterMedia());  */


}

}

Oi, Isabella! Perdão pela demora em responder!

O problema aqui é falta (ou desencontro) da declaração de package no topo das classes e/ou a estrutura de pastas não refletindo o package. Siga exatamente estes passos:

  1. Defina os packages
  • Decida dois pacotes (um para a aplicação e outro para os modelos). Exemplo:
    • com.isabella.cinema.app ➜ para a Principal
    • com.isabella.cinema.modelo ➜ para Filme
  1. Adicione a linha package no topo de cada arquivo
    Veja este exemplo:

Filme.java

package com.isabella.cinema.modelo;

public class Filme {

    String nome;
    int anoDeLancamento;
    boolean incluindoNoPlano;
    private double somaDasAvaliacoes;
    private int totalAvaliacoes;
    int duracaoEmMinutos;

    void exibeFichaTecnica() {
        System.out.println("Nome do filme: " + nome
                + "\nAno de lançamento: " + anoDeLancamento
                + "\nDuração em minutos: " + duracaoEmMinutos);
    }

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

    double obterMedia() {
        return somaDasAvaliacoes / totalAvaliacoes;
    }

    int getTotalDeAvaliacoes(){
        return totalAvaliacoes;
    }
}

Principal.java

package com.isabella.cinema.app;

import com.isabella.cinema.modelo.Filme;

public class Principal {
    public static void main(String[] args) {
        Filme meuFilme = new Filme();
        meuFilme.nome = "O poderoso chefão";
        meuFilme.anoDeLancamento = 1970;
        meuFilme.duracaoEmMinutos = 180;

        meuFilme.exibeFichaTecnica();
        meuFilme.avalia(8);
        meuFilme.avalia(5);
        meuFilme.avalia(10);
        System.out.println("Total de avaliações: " + meuFilme.getTotalDeAvaliacoes());
        System.out.println(meuFilme.obterMedia());
    }
}
  1. Garanta a estrutura de pastas igual ao package
  • Se seu source root é src, crie:
    • src/com/isabella/cinema/modelo/Filme.java
    • src/com/isabella/cinema/app/Principal.java
  • Regra de ouro: nome do package deve bater caractere a caractere com as pastas.
  1. Como você está usando IntelliJ IDEA:
  • Clique direito em srcNew → Package e crie com.isabella.cinema.modelo e com.isabella.cinema.app.
  • Arraste Filme.java para modelo e Principal.java para app.
  • Se preferir, use Refactor → Move para o IDE já ajustar o package automaticamente.

Pontos importantes: sempre tenha package no topo, mantenha a árvore de diretórios idêntica ao package e importe classes de outros pacotes.

Fico à disposição. Abraços e bons estudos!