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