Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dúvida no ExemploOrdenacaoSet #22

Open
cristianevalente opened this issue Aug 16, 2022 · 4 comments
Open

Dúvida no ExemploOrdenacaoSet #22

cristianevalente opened this issue Aug 16, 2022 · 4 comments

Comments

@cristianevalente
Copy link

Boa tarde Camila, tudo bem?
Meu código está dando alguns erros que eu não estou entendendo. Coloquei-os comentados aqui na parte de cima. Você poderia dar uma olhada ou então me disponibilizar o código completo? Eu dei uma olhada aqui no seu Git, mas o exercício está em vários arquivos, e eu não consegui encontrar o erro. Desde já agradeço.
package br.com.dio.estudos;

import javax.sql.rowset.serial.SerialException;
import java.util.*;

/*Mensagem de erro

  • "C:\Program Files\Java\jdk-11.0.8\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\lib\idea_rt.jar=64376:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\Usuário\Documents\Cris\DIO\Projetos IntelliJ\desafio-dio-POO\out\production\desafio-dio-POO" br.com.dio.estudos.ExemploOrdenacaoSetEstudos
    Exception in thread "main" java.lang.NoClassDefFoundError: br/com/dio/estudos/serie (wrong name: br/com/dio/estudos/Serie)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at br.com.dio.estudos.ExemploOrdenacaoSetEstudos$1.(ExemploOrdenacaoSetEstudos.java:12)
    at br.com.dio.estudos.ExemploOrdenacaoSetEstudos.main(ExemploOrdenacaoSetEstudos.java:11)
    Ordem Aleatoria*/
    public class ExemploOrdenacaoSetEstudos {
    public static void main(String[] args) {

      System.out.println("Ordem Aleatoria");
      Set<Serie> minhasSeries = new HashSet<>(){{
          add(new Serie("E o vento levou", "drama", 120));
          add(new Serie("Em algum lugar do passado","drama", 180));
          add(new Serie("A lagoa Azul", "romance", 60));
    
    
      }};
    
          for (Serie serie: minhasSeries)System.out.println(serie.getNome() + "-"
          + serie.getGenero() + "-" + serie.getTempoEpisodio());
    
      System.out.println("Ordem de Inserção");
      Set<Serie>minhasSeries1 = new LinkedHashSet<>(){{
          add(new Serie("E o vento levou","drama",120));
          add(new Serie("Em algum lugar do passado", "drama", 180));
          add(new Serie("A lagoa Azul", "romance", 60));
          add(new Serie("A lagoa Azul", "romance", 120));
                  }};
      for (Serie serie: minhasSeries1) {
          System.out.println(serie.getNome() + "-"
                  + serie.getGenero() + "-" + serie.getTempoEpisodio());
    
    
          System.out.println("Ordem Nome/ Gênero/TempoEpisodio");
          Set<Serie>minhasSeries3 = new TreeSet<>(new ComparatorNomeGeneroTempoEpisodio());
    
              for (Serie serie3: minhasSeries3) System.out.println(serie.getNome() + "-" + serie.getGenero() + "-" + serie.getTempoEpisodio());
              minhasSeries3.addAll(minhasSeries);
    
    
    
      }
    
      }
    

    }

class Serie implements Comparable{
private String nome;
private String genero;
private Integer tempoEpisodio;

public Serie(String nome, String genero, Integer tempoEpisodio) {
    this.nome = nome;
    this.genero = genero;
    this.tempoEpisodio = tempoEpisodio;
}

public String getNome() {
    return nome;
}

public String getGenero() {
    return genero;
}

public Integer getTempoEpisodio() {
    return tempoEpisodio;
}

@Override
public String toString() {
    return "{" +
            "nome='" + nome + '\'' +
            ", genero='" + genero + '\'' +
            ", tempoEpisodio=" + tempoEpisodio +
            '}';
}

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    Serie serie = (Serie) o;
    return nome.equals(serie.nome) && genero.equals(serie.genero) && tempoEpisodio.equals(serie.tempoEpisodio);
}

@Override
public int hashCode() {
    return Objects.hash(nome, genero, tempoEpisodio);
}

@Override
public int compareTo(Serie serie) {
    int tempoEpisodio = Integer.compare(this.getTempoEpisodio(), serie.getTempoEpisodio());
    if (tempoEpisodio!=0) return tempoEpisodio;
    return this.getGenero().compareTo(serie.getGenero());
}

}

class ComparatorNomeGeneroTempoEpisodio implements Comparator{

@Override
public int compare(Serie s1, Serie s2) {
    int nome = s1.getNome().compareTo(s2.getNome());
    if(nome !=0) return nome;

    int genero = s1.getGenero().compareTo(s2.getGenero());
    if (genero !=0) return genero;

    return Integer.compare(s1.getTempoEpisodio(),s2.getTempoEpisodio());
}

}

@cristianevalente cristianevalente changed the title Dívida no ExemploOrdenacaoSet Dúvida no ExemploOrdenacaoSet Aug 16, 2022
@cami-la
Copy link
Owner

cami-la commented Aug 22, 2022

Oi, @cristianevalente. Tudo bem? (:

Então, me explica melhor qual ação que você está tentando fazer e que erro está ocorrendo?

Segue o repositório do código-fonte que foi utilizado na aula de Set: https://github.com/cami-la/curso-dio-intro-collections/tree/master/src/br/com/dio/collection/set

@cristianevalente
Copy link
Author

Boa noite.

Quando eu punha o código para rodar, davam estes erros. Agora nem quer rodar mais. Mas vou tentar corrigir com o repositório e te falo se deu certo. Muito obrigada.

@cami-la
Copy link
Owner

cami-la commented Aug 24, 2022

Fico no teu aguardo, Cris. (:

@cristianevalente
Copy link
Author

Boa tarde Camila,

Muito obrigada.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants