Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Projeto] 05 Método compareTo - Usando exemplo descobri o erro

Inicialmente cliquei na questão errada sem ver a questão, fui para academia e quando voltei o monitor estava em modo suspenso e ai quando cliquei com o mouse foi bem em cima.

Esse programa ele ajuda bastante porque ele diz o que falta e o que está errado e ai vc vai adicionando os métodos e consertando os erros. Eu usei a class TesteOrdenacao para teste e quando salvei ficou com o nome Main.java e ai o programa acusou erro no nome da classe TesteOrdenacao então descobri que no próprio programa tem como vc renomear o nome do arquivo e ai fiz isso para TesteOrdenacao.java e deu certo. e os outros métodos o próprio programa gerou. A medida que implementando ia testando até o final. Essas questões são boas para agente testar os nossos conhecimentos e ir aprendendo cada vez mais. O próprio programa gerou a public interface Comparable e ainda me indicou que estava faltando alguns imports então pedi para ele inserir.

Estou aproveitando o feriado de hoje 15, para avançar em Java e responder as questões já que durante o tempo no trabalho fica complicado para estudar e concentrar p/ resolver as questões e estudar. Ia fazer as provas do ENEM mas já que estou estudando nessa jornada de Java desisti de fazer as provas. Amanhã tem a segunda fase de provas mas também não vou fazer. Fiz ano passado e consegui uma boa nota e vaga para Engenharia de Materiais na UFRPE para o segundo semestre mas não deu para cursar por conta do horário integral. No próximo ano faço de novo. Não acredito que alguém possa dizer que um curso superior não é importante, e como é importante principalmente na área de computação.

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

//TIP To Run code, press or
// click the icon in the gutter.
public class TesteOrdenacao {
public static void main(String[] args) {
List listaDeContas = new ArrayList<>();
listaDeContas.add(new Conta(100.0, "Alice"));
listaDeContas.add(new Conta(50.0, "Bob"));
listaDeContas.add(new Conta(150.0, "Charlie"));
listaDeContas.add(new Conta(100.0, "David"));

    System.out.println("Lista antes da ordenação:");
    for (Conta conta : listaDeContas) {
        System.out.println(conta);
    }

    // Ordena a lista usando o método compareTo implementado na classe Conta
    Collections.sort(listaDeContas);

    System.out.println("\nLista após ordenação decrescente por saldo:");
    for (Conta conta : listaDeContas) {
        System.out.println(conta);
    }
}

}

+++

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package java.lang;

public interface Comparable {
int compareTo(T var1);

public class Conta implements Comparable {
private double saldo;
private String titular;

public Conta(double saldo, String titular) {
    this.saldo = saldo;
    this.titular = titular;
}

public double getSaldo() {
    return this.saldo;
}

public String getTitular() {
    return this.titular;
}

@Override
public String toString() {
    return "Conta do Titular: " + this.titular + ", Saldo: " + this.saldo;
}

//Testando com a questão Letra A Errada
@Override
public int compareTo(Conta outra) {
if (this.saldo > outra.saldo) {
return 1;
} else if (this.saldo < outra.saldo) {
return -1;
} else {
return 0;
}
}
}

Lista antes da ordenação:
Conta do Titular: Alice, Saldo: 100.0
Conta do Titular: Bob, Saldo: 50.0
Conta do Titular: Charlie, Saldo: 150.0
Conta do Titular: David, Saldo: 100.0

Lista após ordenação decrescente por saldo:
Conta do Titular: Bob, Saldo: 50.0
Conta do Titular: Alice, Saldo: 100.0
Conta do Titular: David, Saldo: 100.0
Conta do Titular: Charlie, Saldo: 150.0

Process finished with exit code 0

//Testando com a questão Letra C certa
@Override
public int compareTo(Conta outra) {
if (this.getSaldo() < outra.getSaldo()) {
return 1;
} else if (this.getSaldo() > outra.getSaldo()) {
return -1;
} else {
return 0;
}
}

Lista antes da ordenação:
Conta do Titular: Alice, Saldo: 100.0
Conta do Titular: Bob, Saldo: 50.0
Conta do Titular: Charlie, Saldo: 150.0
Conta do Titular: David, Saldo: 100.0

Lista após ordenação decrescente por saldo:
Conta do Titular: Charlie, Saldo: 150.0
Conta do Titular: Alice, Saldo: 100.0
Conta do Titular: David, Saldo: 100.0
Conta do Titular: Bob, Saldo: 50.0

Process finished with exit code 0

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Fábio! Como vai?

Que bom te ver por aqui compartilhando sua experiência com tanta sinceridade e dedicação!

É inspirador ver como você está aproveitando cada oportunidade para aprender, mesmo com os imprevistos do dia a dia. Sua forma de explorar o programa, identificar os erros, testar e ajustar mostra um comprometimento admirável com o aprendizado. E que bacana saber que você está usando o feriado para mergulhar nos estudos de Java, isso demonstra foco e paixão pela área.

Sua trajetória com o ENEM e a conquista da vaga em Engenharia de Materiais mostram o quanto você é capaz, e é totalmente compreensível priorizar o que faz sentido para o seu momento. O mais importante é que você está construindo seu caminho com consciência e propósito.

Continue firme nessa jornada, porque conhecimento é um investimento que ninguém pode tirar de você. A área de computação é mesmo transformadora e, com essa determinação que você tem, não tenho dúvidas de que grandes conquistas virão.

Abraço e bons estudos!

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