diff --git a/src/main/java/list/OperacoesBasicas/CarrinhoDeCompras.java b/src/main/java/list/OperacoesBasicas/CarrinhoDeCompras.java index 559d781..7c186aa 100644 --- a/src/main/java/list/OperacoesBasicas/CarrinhoDeCompras.java +++ b/src/main/java/list/OperacoesBasicas/CarrinhoDeCompras.java @@ -5,79 +5,67 @@ public class CarrinhoDeCompras { //atributos - private List itemList; + private List itens; public CarrinhoDeCompras() { - this.itemList = new ArrayList<>(); + this.itens = new ArrayList<>(); } - public void adicionarItem(String nome, double preco, int quantidade) { - Item item = new Item(nome, preco, quantidade); - this.itemList.add(item); + // métodos + public void addItem(String name, double price, int quantity) { + itens.add(new Item(name, price, quantity)); } - public void removerItem(String nome) { - List itensParaRemover = new ArrayList<>(); - if (!itemList.isEmpty()) { - for (Item i : itemList) { - if (i.getNome().equalsIgnoreCase(nome)) { - itensParaRemover.add(i); - } + // não se usa .remove() porque não é possível remover um item específico de uma lista de objetos com for + public void removeItem(String name){ + List itensToRemove = new ArrayList<>(); + if (!itens.isEmpty()){ + for (Item i : itens) { // percorre a lista de itens + if (i.getName().equalsIgnoreCase(name)) { + itensToRemove.add(i); // adiona o item à lista de itens a serem removidos } - itemList.removeAll(itensParaRemover); - } else { - System.out.println("A lista está vazia!"); } + itens.removeAll(itensToRemove); + } + else { + System.out.println("Carrinho vazio, não é possível remover itens."); + } } - public double calcularValorTotal() { - double valorTotal = 0d; - if (!itemList.isEmpty()) { - for (Item item : itemList) { - double valorItem = item.getPreco() * item.getQuant(); - valorTotal += valorItem; //valorTotal = valorTotal + valorItem; - } - return valorTotal; - } else { - throw new RuntimeException("A lista está vazia!"); + public double getTotalPrice() { + double total = 0.0; + if (!itens.isEmpty()){ + for (Item i : itens) { + total += i.getPrice() * i.getQuantity(); } + return total; } - - public void exibirItens() { - if (!itemList.isEmpty()) { - System.out.println(this.itemList); - } else { - System.out.println("A lista está vazia!"); + else { + System.out.println("Carrinho vazio, não é possível calcular o total."); + return total; } } - - @Override - public String toString() { - return "CarrinhoDeCompras{" + - "itens=" + itemList + - '}'; + public void getItemDescriptions() { + System.out.println(itens); } public static void main(String[] args) { - // Criando uma instância do carrinho de compras - CarrinhoDeCompras carrinhoDeCompras = new CarrinhoDeCompras(); - - // Adicionando itens ao carrinho - carrinhoDeCompras.adicionarItem("Lápis", 2d, 3); - carrinhoDeCompras.adicionarItem("Lápis", 2d, 3); - carrinhoDeCompras.adicionarItem("Caderno", 35d, 1); - carrinhoDeCompras.adicionarItem("Borracha", 2d, 2); - - // Exibindo os itens no carrinho - carrinhoDeCompras.exibirItens(); - - // Removendo um item do carrinho - carrinhoDeCompras.removerItem("Lápis"); + CarrinhoDeCompras carrinho = new CarrinhoDeCompras(); + System.out.printf("Total do carrinho R$: %.2f%n ", carrinho.getTotalPrice()); + carrinho.getItemDescriptions(); + carrinho.removeItem("Arroz"); + System.out.println(""); - // Exibindo os itens atualizados no carrinho - carrinhoDeCompras.exibirItens(); + carrinho.addItem("Arroz", 5.99, 2); + carrinho.addItem("Feijão", 4.49, 1); + carrinho.addItem("Macarrão", 3.29, 3); + System.out.printf("Total do carrinho R$: %.2f%n", carrinho.getTotalPrice()); + carrinho.getItemDescriptions(); + System.out.println(""); - // Calculando e exibindo o valor total da compra - System.out.println("O valor total da compra é = " + carrinhoDeCompras.calcularValorTotal()); + carrinho.removeItem("Feijão"); + System.out.printf("Total do carrinho R$: %.2f%n", carrinho.getTotalPrice()); + carrinho.getItemDescriptions(); + } } \ No newline at end of file diff --git a/src/main/java/list/OperacoesBasicas/Item.java b/src/main/java/list/OperacoesBasicas/Item.java index 2bc801a..afda94a 100644 --- a/src/main/java/list/OperacoesBasicas/Item.java +++ b/src/main/java/list/OperacoesBasicas/Item.java @@ -2,34 +2,38 @@ public class Item { //atributos - private String nome; - private double preco; - private int quant; + + private String name; + private double price; + private int quantity; - public Item(String nome, double preco, int quant) { - this.nome = nome; - this.preco = preco; - this.quant = quant; - } + // construtor + public Item(String name, double price, int quantity) { + this.name = name; + this.price = price; + this.quantity = quantity; + } - public String getNome() { - return nome; - } + // getters + public String getName() { + return name; + } - public double getPreco() { - return preco; - } + public double getPrice() { + return price; + } - public int getQuant() { - return quant; - } + public int getQuantity() { + return quantity; + } - @Override - public String toString() { - return "Item{" + - "nome='" + nome + '\'' + - ", preco=" + preco + - ", quant=" + quant + - '}'; - } + // toString + @Override + public String toString() { + return "Item{" + + "nome='" + name + '\'' + + ", preco=" + price + + ", quantidade=" + quantity + + '}'; + } } diff --git a/src/main/java/list/OperacoesBasicas/ListaTarefa.java b/src/main/java/list/OperacoesBasicas/ListaTarefa.java deleted file mode 100644 index 8263097..0000000 --- a/src/main/java/list/OperacoesBasicas/ListaTarefa.java +++ /dev/null @@ -1,74 +0,0 @@ -package main.java.list.OperacoesBasicas; - -import java.util.ArrayList; -import java.util.List; - -public class ListaTarefa { - //atributo - private List tarefaList; - - public ListaTarefa() { - this.tarefaList = new ArrayList<>(); - } - - public void adicionarTarefa(String descricao) { - tarefaList.add(new Tarefa(descricao)); - } - - public void removerTarefa(String descricao) { - List tarefasParaRemover = new ArrayList<>(); - if (!tarefaList.isEmpty()) { - for (Tarefa t : tarefaList) { - if (t.getDescricao().equalsIgnoreCase(descricao)) { - tarefasParaRemover.add(t); - } - } - tarefaList.removeAll(tarefasParaRemover); - } else { - System.out.println("A lista está vazia!"); - } - } - - public int obterNumeroTotalTarefas() { - return tarefaList.size(); - } - - public void obterDescricoesTarefas() { - if (!tarefaList.isEmpty()) { - System.out.println(tarefaList); - } else { - System.out.println("A lista está vazia!"); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe ListaTarefa - ListaTarefa listaTarefa = new ListaTarefa(); - - // Adicionando tarefas à lista - listaTarefa.adicionarTarefa("Comprar leite"); - listaTarefa.adicionarTarefa("Estudar para o exame"); - listaTarefa.adicionarTarefa("Fazer exercícios"); - - // Exibindo o número total de tarefas na lista - System.out.println("Você tem " + listaTarefa.obterNumeroTotalTarefas() + " tarefas na lista:"); - - // Exibindo as descrições das tarefas na lista - listaTarefa.obterDescricoesTarefas(); - - // Removendo uma tarefa da lista - listaTarefa.removerTarefa("Trabalhar"); - - // Exibindo o número total de tarefas na lista após a remoção - System.out.println("Agora você tem " + listaTarefa.obterNumeroTotalTarefas() + " tarefas na lista:"); - - // Exibindo as descrições das tarefas atualizadas na lista - listaTarefa.obterDescricoesTarefas(); - - // Removendo uma tarefa da lista quando a lista está vazia - listaTarefa.removerTarefa("Estudar para o exame"); - - // Exibindo o número total de tarefas na lista após tentar remover de uma lista vazia - System.out.println("Agora você tem " + listaTarefa.obterNumeroTotalTarefas() + " tarefas na lista:"); - } -} diff --git a/src/main/java/list/OperacoesBasicas/Tarefa.java b/src/main/java/list/OperacoesBasicas/Tarefa.java deleted file mode 100644 index 38b4abc..0000000 --- a/src/main/java/list/OperacoesBasicas/Tarefa.java +++ /dev/null @@ -1,19 +0,0 @@ -package main.java.list.OperacoesBasicas; - -public class Tarefa { - //atributo - private String descricao; - - public Tarefa(String descricao) { - this.descricao = descricao; - } - - public String getDescricao() { - return descricao; - } - - @Override - public String toString() { - return descricao; - } -} diff --git a/src/main/java/list/OperacoesBasicas/Task.java b/src/main/java/list/OperacoesBasicas/Task.java new file mode 100644 index 0000000..61abd42 --- /dev/null +++ b/src/main/java/list/OperacoesBasicas/Task.java @@ -0,0 +1,21 @@ +package main.java.list.OperacoesBasicas; + +public class Task { + + private String description; + + public Task(String description) { + this.description = description; + } + + public String getDescription() { + return description; + } + + // to string + @Override + public String toString() { + return description; + } + +} diff --git a/src/main/java/list/OperacoesBasicas/TaskList.java b/src/main/java/list/OperacoesBasicas/TaskList.java new file mode 100644 index 0000000..a1274e2 --- /dev/null +++ b/src/main/java/list/OperacoesBasicas/TaskList.java @@ -0,0 +1,70 @@ +package main.java.list.OperacoesBasicas; + +import java.util.ArrayList; +import java.util.List; + +public class TaskList { + //atributo + + private List tasksList; + + public TaskList() { + this.tasksList = new ArrayList<>(); + + } + + // métodos + public void addTask(String description) { + tasksList.add(new Task(description)); + } + + public void removeTask(String description) { + List tasksToRemove = new ArrayList<>(); + for (Task task : tasksList) { + if (task.getDescription().equalsIgnoreCase(description)) { + tasksToRemove.add(task); + } + } + tasksList.removeAll(tasksToRemove); + } + + public int getTaskCount() { + return tasksList.size(); // retorna o número de tarefas na lista + } + + public void getTaskDescriptions() { + System.out.println(tasksList); + } + + // to string + + + public static void main(String[] args) { + + + TaskList taskList = new TaskList(); + System.out.println("Número de tarefas: " + taskList.getTaskCount()); + taskList.getTaskDescriptions(); + System.out.println(""); + + + taskList.addTask("Estudar Java"); + taskList.addTask("Fazer compras"); + taskList.addTask("Lavar o carro"); + System.out.println("Número de tarefas: " + taskList.getTaskCount()); + taskList.getTaskDescriptions(); + System.out.println(""); + + taskList.removeTask("Fazer compras"); + System.out.println("Número de tarefas após remoção: " + taskList.getTaskCount()); + taskList.getTaskDescriptions(); + } + + + + } + + + + + diff --git a/src/main/java/list/Ordenacao/NumberOrdering.java b/src/main/java/list/Ordenacao/NumberOrdering.java new file mode 100644 index 0000000..00ec44b --- /dev/null +++ b/src/main/java/list/Ordenacao/NumberOrdering.java @@ -0,0 +1,79 @@ +package main.java.list.Ordenacao; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + + +// Não é necessário implementar Comparable na classe pois Integer já é Comparable. +public class NumberOrdering { + + + +private List numbers; + +// Construtor +public NumberOrdering() { + this.numbers = new ArrayList<>(); + +} + +//Métodos +public void addNumber (int number){ + numbers.add(number); + +} + +//Ordem ascendente +public List orderSort() { + List naturalOrder = new ArrayList<>(this.numbers); // novo array para que a lsita original não seja modificada + if (numbers.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } + + Collections.sort(naturalOrder); + return naturalOrder; +} + +//Ordem descrescente +public List reverseOrder (){ + List reverseNumList = new ArrayList<>(this.numbers); // novo array para que a lsita original não seja modificada + if (numbers.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } + Collections.sort(reverseNumList, Collections.reverseOrder()); + return reverseNumList; + +} + +public List printNumbers(){ + return numbers; + } + +public static void main(String[] args) { + + NumberOrdering n = new NumberOrdering(); + //lista vazia + System.out.println("Lista " + n.numbers); + System.out.println("----------"); + + n.addNumber(8); + n.addNumber(10); + n.addNumber(15); + n.addNumber(-2); + System.out.println("Lista " + n.numbers); + System.out.println("----------"); + + //Ordem ascendente + System.out.println("Ordem ascendente " + n.orderSort()); + System.out.println("----------"); + + //Ordem descendente + System.out.println("Ordem descendente " + n.reverseOrder()); + System.out.println("----------"); + +} + + + +} diff --git a/src/main/java/list/Ordenacao/OrdenacaoNumeros.java b/src/main/java/list/Ordenacao/OrdenacaoNumeros.java deleted file mode 100644 index c99a2e7..0000000 --- a/src/main/java/list/Ordenacao/OrdenacaoNumeros.java +++ /dev/null @@ -1,74 +0,0 @@ -package main.java.list.Ordenacao; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class OrdenacaoNumeros { - //atributos - private List numerosList; - - //construtor - public OrdenacaoNumeros() { - this.numerosList = new ArrayList<>(); - } - - public void adicionarNumero(int numero) { - this.numerosList.add(numero); - } - - public List ordenarAscendente() { - List numerosAscendente = new ArrayList<>(this.numerosList); - if (!numerosList.isEmpty()) { - Collections.sort(numerosAscendente); - return numerosAscendente; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public List ordenarDescendente() { - List numerosAscendente = new ArrayList<>(this.numerosList); - if (!numerosList.isEmpty()) { - numerosAscendente.sort(Collections.reverseOrder()); - return numerosAscendente; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public void exibirNumeros() { - if (!numerosList.isEmpty()) { - System.out.println(this.numerosList); - } else { - System.out.println("A lista está vazia!"); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe OrdenacaoNumeros - OrdenacaoNumeros numeros = new OrdenacaoNumeros(); - - // Adicionando números à lista - numeros.adicionarNumero(2); - numeros.adicionarNumero(5); - numeros.adicionarNumero(4); - numeros.adicionarNumero(1); - numeros.adicionarNumero(99); - - // Exibindo a lista de números adicionados - numeros.exibirNumeros(); - - // Ordenando e exibindo em ordem ascendente - System.out.println(numeros.ordenarAscendente()); - - // Exibindo a lista - numeros.exibirNumeros(); - - // Ordenando e exibindo em ordem descendente - System.out.println(numeros.ordenarDescendente()); - - // Exibindo a lista - numeros.exibirNumeros(); - } -} diff --git a/src/main/java/list/Ordenacao/OrdenacaoPessoas.java b/src/main/java/list/Ordenacao/OrdenacaoPessoas.java deleted file mode 100644 index 05a325e..0000000 --- a/src/main/java/list/Ordenacao/OrdenacaoPessoas.java +++ /dev/null @@ -1,58 +0,0 @@ -package main.java.list.Ordenacao; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class OrdenacaoPessoas { - //atributo - private List pessoaList; - - public OrdenacaoPessoas() { - this.pessoaList = new ArrayList<>(); - } - - public void adicionarPessoa(String nome, int idade, double altura) { - pessoaList.add(new Pessoa(nome, idade, altura)); - } - - public List ordenarPorIdade() { - List pessoasPorIdade = new ArrayList<>(pessoaList); - if (!pessoaList.isEmpty()) { - Collections.sort(pessoasPorIdade); - return pessoasPorIdade; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public List ordenarPorAltura() { - List pessoasPorAltura = new ArrayList<>(pessoaList); - if (!pessoaList.isEmpty()) { - Collections.sort(pessoasPorAltura, new ComparatorPorAltura()); - return pessoasPorAltura; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe OrdenacaoPessoas - OrdenacaoPessoas ordenacaoPessoas = new OrdenacaoPessoas(); - - // Adicionando pessoas à lista - ordenacaoPessoas.adicionarPessoa("Alice", 20, 1.56); - ordenacaoPessoas.adicionarPessoa("Bob", 30, 1.80); - ordenacaoPessoas.adicionarPessoa("Charlie", 25, 1.70); - ordenacaoPessoas.adicionarPessoa("David", 17, 1.56); - - // Exibindo a lista de pessoas adicionadas - System.out.println(ordenacaoPessoas.pessoaList); - - // Ordenando e exibindo por idade - System.out.println(ordenacaoPessoas.ordenarPorIdade()); - - // Ordenando e exibindo por altura - System.out.println(ordenacaoPessoas.ordenarPorAltura()); - } -} diff --git a/src/main/java/list/Ordenacao/Person.java b/src/main/java/list/Ordenacao/Person.java new file mode 100644 index 0000000..f284c50 --- /dev/null +++ b/src/main/java/list/Ordenacao/Person.java @@ -0,0 +1,59 @@ +package main.java.list.Ordenacao; + +import java.util.Comparator; + +public class Person implements Comparable{ + + // atributos + private String name; + private double height; + private int age; + + // Construtor + public Person(String name, double height, int age) { + this.name = name; + this.height = height; + this.age = age; + } + + public String getName() { + return name; + } + + public double getHeight() { + return height; + } + + public int getAge() { + return age; + } + + + // comparable + @Override + public int compareTo(Person p) { + return Integer.compare(age, p.getAge()); +} + + + + // método to string + + @Override + public String toString() { + + return String.format("[Nome: %s | Idade: %d | Altura: %.2f]", name, age, height); + + } + + + // comparator para altura + public static class ComparatorByHeight implements Comparator { + @Override + public int compare(Person p1, Person p2) { + return Double.compare(p1.getHeight(), p2.getHeight()); + } +} + + +} diff --git a/src/main/java/list/Ordenacao/PersonOrdering.java b/src/main/java/list/Ordenacao/PersonOrdering.java new file mode 100644 index 0000000..d0c81e0 --- /dev/null +++ b/src/main/java/list/Ordenacao/PersonOrdering.java @@ -0,0 +1,91 @@ +package main.java.list.Ordenacao; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import main.java.list.Ordenacao.Person.ComparatorByHeight; + +public class PersonOrdering { + + private List person; + + // construtor + public PersonOrdering() { + this.person = new ArrayList<>(); + } + + + + + public void addPerson (String name, int age, double height){ + person.add(new Person(name, height, age)); + } + + public List orderByAge(){ + List personByAge = new ArrayList<>(person); + + if (person.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } + else { + Collections.sort(personByAge); + return personByAge; + } + } + + public List orderByHeight(){ + List personByHeight = new ArrayList<>(person); + if (person.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } + else { + Collections.sort(personByHeight, new ComparatorByHeight()); + return personByHeight; + } + + } + @Override + public String toString() { + return "Lista de Pessoas:\n" + + String.join("\n", + person.stream() + .map(p -> p.toString()) + .toList() + ); + } + + + + public static void main(String[] args) { + + PersonOrdering personOrder = new PersonOrdering(); + + System.out.println(personOrder); + System.out.println("------------"); + + // Adcionando pessoas + personOrder.addPerson("Carlos", 20, 1.80); + personOrder.addPerson("Maria", 35, 1.60); + personOrder.addPerson("João", 10, 1.20); + personOrder.addPerson("Sarah", 16, 1.56); + personOrder.addPerson("Daniel", 40, 1.75); + + System.out.println(personOrder); + System.out.println("------------"); + + //Order por idade + System.out.println("Ordem por Idade: " + personOrder.orderByAge()); + System.out.println("------------"); + System.out.println("Ordem por tamanho:" +personOrder.orderByHeight()); + + } + + + + + + + + +} diff --git a/src/main/java/list/Ordenacao/Pessoa.java b/src/main/java/list/Ordenacao/Pessoa.java deleted file mode 100644 index ef71a57..0000000 --- a/src/main/java/list/Ordenacao/Pessoa.java +++ /dev/null @@ -1,49 +0,0 @@ -package main.java.list.Ordenacao; - -import java.util.Comparator; - -public class Pessoa implements Comparable { - //atributos - private String nome; - private int idade; - private double altura; - - public Pessoa(String nome, int idade, double altura) { - this.nome = nome; - this.idade = idade; - this.altura = altura; - } - - @Override - public int compareTo(Pessoa p) { - return Integer.compare(idade, p.getIdade()); - } - - public String getNome() { - return nome; - } - - public int getIdade() { - return idade; - } - - public double getAltura() { - return altura; - } - - @Override - public String toString() { - return "Pessoa{" + - "nome='" + nome + '\'' + - ", idade=" + idade + - ", altura=" + altura + - '}'; - } -} - -class ComparatorPorAltura implements Comparator { - @Override - public int compare(Pessoa p1, Pessoa p2) { - return Double.compare(p1.getAltura(), p2.getAltura()); - } -} \ No newline at end of file diff --git a/src/main/java/list/Pesquisa/Book.java b/src/main/java/list/Pesquisa/Book.java new file mode 100644 index 0000000..3aba3df --- /dev/null +++ b/src/main/java/list/Pesquisa/Book.java @@ -0,0 +1,45 @@ +package main.java.list.Pesquisa; + +public class Book { + + private String name; + private String author; + private int publishingYear; + + // Construtor + public Book(String name, String author, int publishingYear) { + this.name = name; + this.author = author; + this.publishingYear = publishingYear; + } + + // Get + public String getName() { + return name; + } + + public String getAuthor() { + return author; + } + + + public int getPublishingYear() { + return publishingYear; + } + + + + @Override +public String toString() { + return " \n" + + "Título: " + name + "\n" + + "Autor: " + author + "\n" + + "Ano de Publicação: " + publishingYear + "\n"; +} + + + + + + +} diff --git a/src/main/java/list/Pesquisa/BooksCatalog.java b/src/main/java/list/Pesquisa/BooksCatalog.java new file mode 100644 index 0000000..41192ab --- /dev/null +++ b/src/main/java/list/Pesquisa/BooksCatalog.java @@ -0,0 +1,106 @@ +package main.java.list.Pesquisa; + +import java.util.ArrayList; +import java.util.List; + +public class BooksCatalog { + + private List booksCatalog; + + // Construtor + public BooksCatalog() { + this.booksCatalog = new ArrayList<>(); + } + + public void addBook(String name, String author, int publishingYear) { + booksCatalog.add(new Book(name, author, publishingYear)); + } + + public List searchForAuthor(String author){ + List booksByAuthor = new ArrayList<>(); + if (!booksCatalog.isEmpty()){ + for(Book b : booksCatalog){ + if(b.getAuthor().equalsIgnoreCase(author)){ + booksByAuthor.add(b); + } + } + } else { + System.out.println("Nenhum autor encontrado."); + } + return booksByAuthor; + } + + public List searchForYearRange(int initialYear, int finalYear){ + List booksByYear = new ArrayList<>(); + if (!booksCatalog.isEmpty()){ + for(Book b : booksCatalog){ + if(b.getPublishingYear() >= initialYear && b.getPublishingYear() <= finalYear){ + booksByYear.add(b); + } + } + } else { + throw new RuntimeException("Nenhum livro encontrado neste intervalo de anos."); + } + return booksByYear; + } + + + public Book searchForTitle(String name){ + Book bookByTitle = null; + if (!booksCatalog.isEmpty()){ + for(Book b : booksCatalog){ + if(b.getName().equalsIgnoreCase(name)){ + bookByTitle = b; + break; + } + } + } else { + System.out.println("Nenhum livro encontrado com este título."); + } + return bookByTitle; + } + + public static void main(String[] args) { + + // Pesquisa por livros + BooksCatalog booksCatalog = new BooksCatalog(); + + System.out.println("Número de livros: " + booksCatalog.booksCatalog.size()); + System.out.println("--------------------"); + // Adicionando livros + System.out.println("Adicionando livros ao catálogo..."); + booksCatalog.addBook("Java Programming", "John Doe", 2020); + booksCatalog.addBook("Python Programming", "John Doe", 2019); + booksCatalog.addBook("Effective Java", "Joshua Bloch", 2018); + System.out.println("--------------------"); + // pesquisa por autor + List booksByAuthor = booksCatalog.searchForAuthor("John Doe"); + System.out.println("Livros encontrados por autor 'John Doe':" + booksByAuthor); + System.out.println("--------------------"); + // autor não encontrado + List booksByAuthorNotFound = booksCatalog.searchForAuthor("Jane Smith"); + System.out.println("Livros encontrados por autor 'Jane Smith': " + booksByAuthorNotFound); + System.out.println("--------------------"); + // pesquisa por título + Book bookByTitle = booksCatalog.searchForTitle("Java Programming"); + System.out.println("Livro encontrado por título 'Java Programming': " + bookByTitle); + System.out.println("--------------------"); + // título não encontrado + Book bookByTitleNotFound = booksCatalog.searchForTitle("Python Programming"); + System.out.println("Livro encontrado por título 'Python Programming': " + bookByTitleNotFound); + System.out.println(" "); + System.out.println("--------------------"); + // pesquisa por ano + List booksByYear = booksCatalog.searchForYearRange(2015, 2021); + System.out.println("Livros encontrados entre 2015 e 2021: " + booksByYear); + System.out.println("--------------------"); + // ano não encontrado + List booksByYearNotFound = booksCatalog.searchForYearRange(2000, 2010); + System.out.println("Livros encontrados entre 2000 e 2010: " + booksByYearNotFound); + System.out.println("--------------------"); + + + } + + +} diff --git a/src/main/java/list/Pesquisa/CatalogoLivros.java b/src/main/java/list/Pesquisa/CatalogoLivros.java deleted file mode 100644 index 5d9da5f..0000000 --- a/src/main/java/list/Pesquisa/CatalogoLivros.java +++ /dev/null @@ -1,89 +0,0 @@ -package main.java.list.Pesquisa; - -import java.util.ArrayList; -import java.util.List; - -public class CatalogoLivros { - //atributo - private List livroList; - - public CatalogoLivros() { - this.livroList = new ArrayList<>(); - } - - public void adicionarLivro(String titulo, String autor, int anoPublicacao) { - livroList.add(new Livro(titulo, autor, anoPublicacao)); - } - - public List pesquisarPorAutor(String autor) { - List livrosPorAutor = new ArrayList<>(); - if (!livroList.isEmpty()) { - for (Livro l : livroList) { - if (l.getAutor().equalsIgnoreCase(autor)) { - livrosPorAutor.add(l); - } - } - return livrosPorAutor; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public List pesquisarPorIntervaloAnos(int anoInicial, int anoFinal) { - List livrosPorIntervaloAnos = new ArrayList<>(); - if (!livroList.isEmpty()) { - for (Livro l : livroList) { - if (l.getAnoPublicacao() >= anoInicial && l.getAnoPublicacao() <= anoFinal) { - livrosPorIntervaloAnos.add(l); - } - } - return livrosPorIntervaloAnos; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public Livro pesquisarPorTitulo(String titulo) { - Livro livroPorTitulo = null; - if (!livroList.isEmpty()) { - for (Livro l : livroList) { - if (l.getTitulo().equalsIgnoreCase(titulo)) { - livroPorTitulo = l; - break; - } - } - return livroPorTitulo; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public static void main(String[] args) { - // Criando uma instância do catálogo de livros - CatalogoLivros catalogoLivros = new CatalogoLivros(); - - // Adicionando livros ao catálogo - catalogoLivros.adicionarLivro("Microsserviços Prontos Para a Produção", "Susan J. Fowler", 2017); - catalogoLivros.adicionarLivro("Java Guia do Programador", "Peter Jandl Junior", 2021); - catalogoLivros.adicionarLivro("Código Limpo", "Robert C. Martin", 2009); - catalogoLivros.adicionarLivro("O Codificador Limpo", "Robert C. Martin", 2012); - - // Exibindo livros pelo mesmo autor - System.out.println(catalogoLivros.pesquisarPorAutor("Robert C. Martin")); - - // Exibindo livros pelo mesmo autor (caso em que não há livros de um autor específico) - System.out.println(catalogoLivros.pesquisarPorAutor("Autor Inexistente")); - - // Exibindo livros dentro de um intervalo de anos - System.out.println(catalogoLivros.pesquisarPorIntervaloAnos(2010, 2022)); - - // Exibindo livros dentro de um intervalo de anos (caso em que não há livros no intervalo) - System.out.println(catalogoLivros.pesquisarPorIntervaloAnos(2025, 2030)); - - // Exibindo livros por título - System.out.println(catalogoLivros.pesquisarPorTitulo("Java Guia do Programador")); - - // Exibindo livros por título (caso em que não há livros com o título especificado) - System.out.println(catalogoLivros.pesquisarPorTitulo("Título Inexistente")); - } -} diff --git a/src/main/java/list/Pesquisa/Livro.java b/src/main/java/list/Pesquisa/Livro.java deleted file mode 100644 index 8a192ae..0000000 --- a/src/main/java/list/Pesquisa/Livro.java +++ /dev/null @@ -1,39 +0,0 @@ -package main.java.list.Pesquisa; - -public class Livro { - //atributos - private String titulo; - private String autor; - private int anoPublicacao; - - public Livro(String titulo, String autor, int anoPublicacao) { - this.titulo = titulo; - this.autor = autor; - this.anoPublicacao = anoPublicacao; - } - - public String getTitulo() { - return titulo; - } - - public void setAutor(String autor) { - this.autor = autor; - } - - public String getAutor() { - return autor; - } - - public int getAnoPublicacao() { - return anoPublicacao; - } - - @Override - public String toString() { - return "Livro{" + - "titulo='" + titulo + '\'' + - ", autor='" + autor + '\'' + - ", anoPublicacao=" + anoPublicacao + - '}'; - } -} diff --git a/src/main/java/list/Pesquisa/SomaNumeros.java b/src/main/java/list/Pesquisa/SomaNumeros.java deleted file mode 100644 index 3b8cd20..0000000 --- a/src/main/java/list/Pesquisa/SomaNumeros.java +++ /dev/null @@ -1,86 +0,0 @@ -package main.java.list.Pesquisa; - -import java.util.ArrayList; -import java.util.List; - -public class SomaNumeros { - //atributos - private List numeros; - - //construtor - public SomaNumeros() { - this.numeros = new ArrayList<>(); - } - - public void adicionarNumero(int numero) { - this.numeros.add(numero); - } - - public int calcularSoma() { - int soma = 0; - for (Integer numero : numeros) - soma += numero; - return soma; - } - - public int encontrarMaiorNumero() { - int maiorNumero = Integer.MIN_VALUE; - if (!numeros.isEmpty()) { - for (Integer numero : numeros) { - if (numero >= maiorNumero) { - maiorNumero = numero; - } - } - return maiorNumero; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public int encontrarMenorNumero() { - int menorNumero = Integer.MAX_VALUE; - if (!numeros.isEmpty()) { - for (Integer numero : numeros) { - if (numero <= menorNumero) { - menorNumero = numero; - } - } - return menorNumero; - } else { - throw new RuntimeException("A lista está vazia!"); - } - } - - public void exibirNumeros() { - if (!numeros.isEmpty()) { - System.out.println(this.numeros); - } else { - System.out.println("A lista está vazia!"); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe SomaNumeros - SomaNumeros somaNumeros = new SomaNumeros(); - - // Adicionando números à lista - somaNumeros.adicionarNumero(5); - somaNumeros.adicionarNumero(0); - somaNumeros.adicionarNumero(0); - somaNumeros.adicionarNumero(-2); - somaNumeros.adicionarNumero(10); - - // Exibindo a lista de números adicionados - System.out.println("Números adicionados:"); - somaNumeros.exibirNumeros(); - - // Calculando e exibindo a soma dos números na lista - System.out.println("Soma dos números = " + somaNumeros.calcularSoma()); - - // Encontrando e exibindo o maior número na lista - System.out.println("Maior número = " + somaNumeros.encontrarMaiorNumero()); - - // Encontrando e exibindo o menor número na lista - System.out.println("Menor número = " + somaNumeros.encontrarMenorNumero()); - } -} diff --git a/src/main/java/list/Pesquisa/SumNumbers.java b/src/main/java/list/Pesquisa/SumNumbers.java new file mode 100644 index 0000000..34a9573 --- /dev/null +++ b/src/main/java/list/Pesquisa/SumNumbers.java @@ -0,0 +1,79 @@ +package main.java.list.Pesquisa; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class SumNumbers { + + private List numbers; + + public SumNumbers() { + this.numbers = new ArrayList<>(); + } + + + // métodos + public void addNumber(int number) { + numbers.add(number); + } + + public int sumNumbers (){ + int sum = 0; + for (Integer num : numbers){ + sum += num; + } + + return sum; // + } + + +public int findBigNumber() { + if (numbers.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } + return Collections.max(numbers); +} + + + public int findSmallNumber (){ + if (numbers.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } + return Collections.min(numbers); +} + + + public List printNumbers(){ + return numbers; + } + + public static void main(String[] args) { + + SumNumbers n = new SumNumbers(); + //lista vazia + System.out.println("Lista " + n.numbers); + System.out.println("----------"); + + n.addNumber(5); + n.addNumber(10); + n.addNumber(15); + n.addNumber(-2); + System.out.println("Lista " + n.numbers); + + System.out.println("----------"); + System.out.println("Soma = " + n.sumNumbers()); + System.out.println("----------"); + + System.out.println("Maior número: " + n.findBigNumber()); + System.out.println("Menor número: " + n.findSmallNumber()); + System.out.println("----------"); + } + } + + + + + + + diff --git a/src/main/java/map/OperacoesBasicas/AgendaContatos.java b/src/main/java/map/OperacoesBasicas/AgendaContatos.java deleted file mode 100644 index a854e35..0000000 --- a/src/main/java/map/OperacoesBasicas/AgendaContatos.java +++ /dev/null @@ -1,73 +0,0 @@ -package main.java.map.OperacoesBasicas; - -import java.util.HashMap; -import java.util.Map; - -public class AgendaContatos { - //atributo - private Map agendaContatoMap; - - public AgendaContatos() { - this.agendaContatoMap = new HashMap<>(); - } - - public void adicionarContato(String nome, Integer telefone) { - agendaContatoMap.put(nome, telefone); - } - - public void removerContato(String nome) { - if (!agendaContatoMap.isEmpty()) { - agendaContatoMap.remove(nome); - } else { - System.out.println("A agenda de contatos está vazia."); - } - } - - public void exibirContatos() { - if (!agendaContatoMap.isEmpty()) { - System.out.println(agendaContatoMap); - } else { - System.out.println("A agenda de contatos está vazia."); - } - } - - public Integer pesquisarPorNome(String nome) { - Integer numeroPorNome = null; - if (!agendaContatoMap.isEmpty()) { - numeroPorNome = agendaContatoMap.get(nome); - if (numeroPorNome == null) { - System.out.println("Contato não encontrado na agenda."); - } - } else { - System.out.println("A agenda de contatos está vazia."); - } - return numeroPorNome; - } - - public static void main(String[] args) { - AgendaContatos agendaContatos = new AgendaContatos(); - - // Adicionar contatos - agendaContatos.adicionarContato("Camila", 123456); - agendaContatos.adicionarContato("João", 5665); - agendaContatos.adicionarContato("Carlos", 1111111); - agendaContatos.adicionarContato("Ana", 654987); - agendaContatos.adicionarContato("Maria", 1111111); - agendaContatos.adicionarContato("Camila", 44444); - - agendaContatos.exibirContatos(); - - // Remover um contato - agendaContatos.removerContato("Maria"); - agendaContatos.exibirContatos(); - - // Pesquisar número por nome - String nomePesquisa = "João"; - Integer numeroPesquisa = agendaContatos.pesquisarPorNome("João"); - System.out.println("Número de telefone de " + nomePesquisa + ": " + numeroPesquisa); - - String nomePesquisaNaoExistente = "Paula"; - Integer numeroPesquisaNaoExistente = agendaContatos.pesquisarPorNome(nomePesquisaNaoExistente); - System.out.println("Número de telefone de " + nomePesquisaNaoExistente + ": " + numeroPesquisaNaoExistente); - } -} \ No newline at end of file diff --git a/src/main/java/map/OperacoesBasicas/ContactsList.java b/src/main/java/map/OperacoesBasicas/ContactsList.java new file mode 100644 index 0000000..ec540df --- /dev/null +++ b/src/main/java/map/OperacoesBasicas/ContactsList.java @@ -0,0 +1,76 @@ +package main.java.map.OperacoesBasicas; + +import java.util.HashMap; +import java.util.Map; + +public class ContactsList { + + //Atributo + private Map contactMap; + + public ContactsList() { + this.contactMap = new HashMap<>(); + } + + public void addContact(String name, Integer phone){ + contactMap.put(name, phone); + } + + public void removeContact (String name){ + if(contactMap.isEmpty()){ + throw new IllegalStateException("A lista está vazia."); + } + else{ + contactMap.remove(name); + } + } + + public void showContacts(){ + if (contactMap.isEmpty()){ + System.out.println("A lista está vazia: " + contactMap); + System.out.println("-----------------"); + } + else { + System.out.println("Lista de contatos: " + contactMap); + System.out.println("------------"); + } + } + + public Integer searchByName(String name){ + Integer numberByName = null; + if (contactMap.isEmpty()){ + throw new IllegalStateException("A lista está vazia."); + } + else { + numberByName = contactMap.get(name); + System.out.println("Retornando númeto de telefone: " + numberByName); + return numberByName; + } + + + } + + public static void main(String[] args) { + + ContactsList contacts = new ContactsList(); + + contacts.showContacts(); + + contacts.addContact("Maria", 999990000); + contacts.addContact("Jonas", 99999808); + contacts.addContact("Mariana", 97997808); + contacts.addContact("Vinicius", 97797888); + contacts.addContact("Bárbara", 977977777); + contacts.addContact("Jonas", 90909090); // para verificar + contacts.addContact("José", 90909090); // para verificar + + contacts.showContacts(); + + contacts.removeContact("Mariana"); + contacts.showContacts(); + + contacts.searchByName("Maria"); + } + + +} diff --git a/src/main/java/map/OperacoesBasicas/Dicionario.java b/src/main/java/map/OperacoesBasicas/Dicionario.java deleted file mode 100644 index 5780cad..0000000 --- a/src/main/java/map/OperacoesBasicas/Dicionario.java +++ /dev/null @@ -1,63 +0,0 @@ -package main.java.map.OperacoesBasicas; - -import java.util.HashMap; -import java.util.Map; - -public class Dicionario { - private Map dicionario; - - public Dicionario() { - this.dicionario = new HashMap<>(); - } - - public void adicionarPalavra(String palavra, String definicao) { - dicionario.put(palavra, definicao); - } - - public void removerPalavra(String palavra) { - if (!dicionario.isEmpty()) { - dicionario.remove(palavra); - } else { - System.out.println("O dicionário está vazio."); - } - } - - public String pesquisarPorPalavra(String palavra) { - String definicao = dicionario.get(palavra); - if (definicao != null) { - return definicao; - } - return "Linguagem não encontrada no dicionário."; - } - - public void exibirPalavras() { - if (!dicionario.isEmpty()) { - System.out.println(dicionario); - } else { - System.out.println("O dicionário está vazio."); - } - } - - public static void main(String[] args) { - Dicionario dicionario = new Dicionario(); - - // Adicionar palavras (linguagens de programação) - dicionario.adicionarPalavra("java", "Linguagem de programação orientada a objetos."); - dicionario.adicionarPalavra("typescript", "Superset da linguagem JavaScript que adiciona tipagem estática."); - dicionario.adicionarPalavra("kotlin", "Linguagem moderna de programação para a JVM."); - - // Exibir todas as palavras - dicionario.exibirPalavras(); - - // Pesquisar palavras - String definicaoJava = dicionario.pesquisarPorPalavra("java"); - System.out.println("Definição da linguagem 'java': " + definicaoJava); - - String definicaoCSharp = dicionario.pesquisarPorPalavra("csharp"); - System.out.println(definicaoCSharp); - - // Remover uma palavra - dicionario.removerPalavra("typescript"); - dicionario.exibirPalavras(); - } -} \ No newline at end of file diff --git a/src/main/java/map/OperacoesBasicas/Dictionary.java b/src/main/java/map/OperacoesBasicas/Dictionary.java new file mode 100644 index 0000000..3ce53f4 --- /dev/null +++ b/src/main/java/map/OperacoesBasicas/Dictionary.java @@ -0,0 +1,94 @@ +package main.java.map.OperacoesBasicas; + +import java.util.HashMap; +import java.util.Map; + +public class Dictionary { + /*Crie uma classe chamada "Dicionario" que utilize um Map + para armazenar palavras e suas respectivas definições. Implemente os seguintes métodos: + +- `adicionarPalavra(String palavra, String definicao)`: +Adiciona uma palavra e sua definição ao dicionário, associando a palavra +à sua definição correspondente. +- `removerPalavra(String palavra)`: Remove uma palavra do dicionário, dado o termo a ser removido. +- `exibirPalavras()`: Exibe todas as palavras e suas definições do dicionário, +mostrando cada palavra seguida de sua respectiva definição. +- `pesquisarPorPalavra(String palavra)`: Pesquisa uma palavra no dicionário e +retorna sua definição correspondente. */ + + private Map engPorDicitionary; + + public Dictionary() { + this.engPorDicitionary = new HashMap<>(); + } + + // adiciona palavra + public void addWord (String word, String meaning){ + engPorDicitionary.put(word, meaning); + } + + // deleta palavra + public void removeWord(String word) { + if(!engPorDicitionary.isEmpty()) { + engPorDicitionary.remove(word); + } + else{ + System.out.println("O dicionário está vazio"); + System.out.println("-----------"); + } + } + + // exibir dicionário + public void showDictionary (){ + if(!engPorDicitionary.isEmpty()) { + System.out.println("Exibindo o dicionário: " + engPorDicitionary); + System.out.println("-----------"); + } + else{ + System.out.println("O dicionário está vazio"); + System.out.println("-----------"); + } + } + + // pesquisa por palavra + public String searchByWord (String word){ + String wordAndDescrption = engPorDicitionary.get(word); + if(engPorDicitionary.isEmpty()) { + System.out.println("O dicionário está vazio"); + System.out.println("-----------"); + } + else{ + if (wordAndDescrption != null){ + System.out.println("Buscando a definição: " + wordAndDescrption); + return wordAndDescrption; + } + } + return "Palavra não encontrada no dicionário."; + } + + + + public static void main(String[] args) { + + Dictionary dictionary= new Dictionary(); + + dictionary.showDictionary(); + + dictionary.addWord("Throw", "Jogar Fora, arremessar"); + dictionary.addWord("Have", "Ter, possuir ou verbo auxiliar do present perfect"); + dictionary.addWord("Do", "Fazer ou verbo auxiliar do present simple"); + dictionary.addWord("Did", "Fez (passado) ou verbo auxiliar do passado"); + dictionary.addWord("Can", "Lata (refrigerante) ou verbo modal (poder, probabilidade, permissão)"); + + dictionary.showDictionary(); + + dictionary.removeWord("Throw"); + dictionary.showDictionary(); + + + dictionary.searchByWord("Can"); + + } + + +} diff --git a/src/main/java/map/Ordenacao/AgendaEventos.java b/src/main/java/map/Ordenacao/AgendaEventos.java deleted file mode 100644 index 77463aa..0000000 --- a/src/main/java/map/Ordenacao/AgendaEventos.java +++ /dev/null @@ -1,62 +0,0 @@ -package main.java.map.Ordenacao; - -import java.time.LocalDate; -import java.time.Month; -import java.util.*; - -public class AgendaEventos { - private Map eventosMap; - - public AgendaEventos() { - this.eventosMap = new HashMap<>(); - } - - public void adicionarEvento(LocalDate data, String nomeEvento, String descricaoAtracao) { - eventosMap.put(data, new Evento(nomeEvento, descricaoAtracao)); - } - - public void exibirAgenda() { - Map eventosTreeMap = new TreeMap<>(eventosMap); - for (Map.Entry entry : eventosTreeMap.entrySet()) { - LocalDate dataEvento = entry.getKey(); - Evento evento = entry.getValue(); - System.out.println("Data: " + dataEvento + ", Evento: " + evento.getNome() + ", Atração: " + evento.getAtracao()); - } - } - - public void obterProximoEvento() { - LocalDate dataAtual = LocalDate.now(); - LocalDate proximaData = null; - Evento proximoEvento = null; - for (Map.Entry entry : eventosMap.entrySet()) { - LocalDate dataEvento = entry.getKey(); - if (dataEvento.isEqual(dataAtual) || dataEvento.isAfter(dataAtual)) { - proximaData = dataEvento; - proximoEvento = entry.getValue(); - break; - } - } - if (proximoEvento != null) { - System.out.println("O próximo evento: " + proximoEvento.getNome() + " acontecerá na data " + proximaData); - } else { - System.out.println("Não há eventos futuros na agenda."); - } - } - - public static void main(String[] args) { - AgendaEventos agendaEventos = new AgendaEventos(); - - // Adiciona eventos à agenda - agendaEventos.adicionarEvento(LocalDate.of(2022, Month.JULY, 15), "Conferência de Tecnologia", "Palestrante renomado"); - agendaEventos.adicionarEvento(LocalDate.of(2022, 7, 9), "Workshop de Programação", "Aula prática de desenvolvimento"); - agendaEventos.adicionarEvento(LocalDate.of(2000, 1, 10), "Lançamento de Software", "Demonstração da nova versão"); - agendaEventos.adicionarEvento(LocalDate.of(2023, Month.AUGUST, 28), "Hackathon de Inovação", "Competição de soluções criativas"); - agendaEventos.adicionarEvento(LocalDate.of(2024, 9, 20), "Seminário de Inteligência Artificial", "Discussão sobre IA avançada"); - - // Exibe a agenda completa de eventos - agendaEventos.exibirAgenda(); - - // Obtém e exibe o próximo evento na agenda - agendaEventos.obterProximoEvento(); - } -} \ No newline at end of file diff --git a/src/main/java/map/Ordenacao/Book.java b/src/main/java/map/Ordenacao/Book.java new file mode 100644 index 0000000..884452c --- /dev/null +++ b/src/main/java/map/Ordenacao/Book.java @@ -0,0 +1,56 @@ +package main.java.map.Ordenacao; + +import java.util.Comparator; + + + +public class Book implements Comparable { + + // A classe "Livro" possui atributos como título, autor e preço. + private String title; + private String author; + private double price; + + // Construtor + public Book(String title, String author, double price) { + this.title = title; + this.author = author; + this.price = price; + } + + public String getTitle() { + return title; + } + + public String getAuthor() { + return author; + } + + public double getPrice() { + return price; + } + + @Override + public String toString() { + return String.format("[Título: %s | Autor(a): %s | Preço (R$): %.2f ]", title, author, price); + } + + @Override + public int compareTo(Book book) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'compareTo'"); + } + + public static class ComparatorByPrice implements Comparator{ + + @Override + public int compare(Book price1, Book price2) { + return Double.compare(price1.getPrice(), price2.getPrice()); + + + } + + } + + +} diff --git a/src/main/java/map/Ordenacao/Event.java b/src/main/java/map/Ordenacao/Event.java new file mode 100644 index 0000000..80382be --- /dev/null +++ b/src/main/java/map/Ordenacao/Event.java @@ -0,0 +1,34 @@ +package main.java.map.Ordenacao; + +public class Event { + + private String name; + private String attraction; + + + public Event(String name, String attraction) { + this.name = name; + this.attraction = attraction; + } + + + public String getName() { + return name; + } + + + public String getAttraction() { + return attraction; + } + + + @Override + public String toString() { + return " | Nome do Evento -> " + name + " | Atração -> " + attraction + " | "; + } + + + + + +} diff --git a/src/main/java/map/Ordenacao/EventSchedule.java b/src/main/java/map/Ordenacao/EventSchedule.java new file mode 100644 index 0000000..59faf27 --- /dev/null +++ b/src/main/java/map/Ordenacao/EventSchedule.java @@ -0,0 +1,63 @@ +package main.java.map.Ordenacao; + +import java.time.LocalDate; +import java.time.Month; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; + +public class EventSchedule { + + private Map events; + + public EventSchedule() { + this.events = new HashMap<>(); + } + + // métodos + //Adiciona um evento à agenda. + public void addEvent(LocalDate date, String name, String atraction){ + events.put(date, new Event(name, atraction)); + + } + + + + // exibirAgenda()`: Exibe a agenda de eventos em ordem crescente de data. + public void showSchedule(){ + Map eventByDate = new TreeMap<>(events); + System.out.println("Eventos: " + eventByDate); + System.out.println("------------------"); + + } + + public void nextEvent() { + LocalDate today = LocalDate.now(); + Map nextEvent = new TreeMap<>(events); + for (var entry : nextEvent.entrySet()) { // var entry: percorre o mapa, no caso var é o tipo de dado que é uma entrada do mapa, ou seja, uma data e um evento. + if (!entry.getKey().isBefore(today)) { //getKey: pega a chave que é a data + System.out.println("Próximo evento: " + entry.getKey() + entry.getValue()); + System.out.println("---------"); + return; + } + } + System.out.println("Nenhum evento futuro encontrado."); + System.out.println("---------"); +} + + + + public static void main(String[] args) { + + EventSchedule eventsList = new EventSchedule(); + + eventsList.addEvent(LocalDate.of(2025, Month.JULY, 15), "Conferência de Tecnologia parte 2", "Mudanças na Inteligência Artificial"); + eventsList.addEvent(LocalDate.of(2025, Month.AUGUST, 12), "Workshop de Tecnologia" ,"Aula prática de desenvolvimento"); + eventsList.addEvent(LocalDate.of(2025, Month.JULY, 10), "Lançamento de software", "Software novo que possui IA integrada"); + eventsList.addEvent(LocalDate.of(2025, Month.AUGUST, 1), "Seminário de Inteligência Artificial" ,"O futuro da IA"); + eventsList.addEvent(LocalDate.of(2025, Month.JUNE, 1), "Conferência de Tecnologia parte 1" ,"IA no setor da Saúde"); + + eventsList.showSchedule(); + eventsList.nextEvent(); + } +} diff --git a/src/main/java/map/Ordenacao/Evento.java b/src/main/java/map/Ordenacao/Evento.java deleted file mode 100644 index 71148ce..0000000 --- a/src/main/java/map/Ordenacao/Evento.java +++ /dev/null @@ -1,28 +0,0 @@ -package main.java.map.Ordenacao; - -public class Evento { - //atributos - private String nome; - private String atracao; - - public Evento(String nome, String atracao) { - this.nome = nome; - this.atracao = atracao; - } - - public String getNome() { - return nome; - } - - public String getAtracao() { - return atracao; - } - - @Override - public String toString() { - return "Evento{" + - "nome='" + nome + '\'' + - ", atracao=" + atracao + - '}'; - } -} diff --git a/src/main/java/map/Ordenacao/LivrariaOnline.java b/src/main/java/map/Ordenacao/LivrariaOnline.java deleted file mode 100644 index b7db94b..0000000 --- a/src/main/java/map/Ordenacao/LivrariaOnline.java +++ /dev/null @@ -1,144 +0,0 @@ -package main.java.map.Ordenacao; - -import java.util.*; - -public class LivrariaOnline { - private Map livros; - - public LivrariaOnline() { - this.livros = new HashMap<>(); - } - - public void adicionarLivro(String link, Livro livro) { - livros.put(link, livro); - } - - public void removerLivro(String titulo) { - List chavesRemover = new ArrayList<>(); - for (Map.Entry entry : livros.entrySet()) { - if (entry.getValue().getTitulo().equalsIgnoreCase(titulo)) { - chavesRemover.add(entry.getKey()); - } - } - for (String chave : chavesRemover) { - livros.remove(chave); - } - } - - public Map exibirLivrosOrdenadosPorPreco() { - List> livrosParaOrdenarPorPreco = new ArrayList<>(livros.entrySet()); - - Collections.sort(livrosParaOrdenarPorPreco, new ComparatorPorPreco()); - - Map livrosOrdenadosPorPreco = new LinkedHashMap<>(); - - for (Map.Entry entry : livrosParaOrdenarPorPreco) { - livrosOrdenadosPorPreco.put(entry.getKey(), entry.getValue()); - } - - return livrosOrdenadosPorPreco; - } - - public Map exibirLivrosOrdenadosPorAutor() { - List> livrosParaOrdenarPorAutor = new ArrayList<>(livros.entrySet()); - - Collections.sort(livrosParaOrdenarPorAutor, new ComparatorPorAutor()); - - Map livrosOrdenadosPorAutor = new LinkedHashMap<>(); - - for (Map.Entry entry : livrosParaOrdenarPorAutor) { - livrosOrdenadosPorAutor.put(entry.getKey(), entry.getValue()); - } - - return livrosOrdenadosPorAutor; - } - - public Map pesquisarLivrosPorAutor(String autor) { - Map livrosPorAutor = new LinkedHashMap<>(); - for (Map.Entry entry : livros.entrySet()) { - Livro livro = entry.getValue(); - if (livro.getAutor().equals(autor)) { - livrosPorAutor.put(entry.getKey(), livro); - } - } - return livrosPorAutor; - } - - public List obterLivroMaisCaro() { - List livrosMaisCaros = new ArrayList<>(); - double precoMaisAlto = Double.MIN_VALUE; - - if (!livros.isEmpty()) { - for (Livro livro : livros.values()) { - if (livro.getPreco() > precoMaisAlto) { - precoMaisAlto = livro.getPreco(); - } - } - } else { - throw new NoSuchElementException("A livraria está vazia!"); - } - - for(Map.Entry entry: livros.entrySet()) { - if(entry.getValue().getPreco() == precoMaisAlto) { - Livro livroComPrecoMaisAlto = livros.get(entry.getKey()); - livrosMaisCaros.add(livroComPrecoMaisAlto); - } - } - return livrosMaisCaros; - } - - public List obterLivroMaisBarato() { - List livrosMaisBaratos = new ArrayList<>(); - double precoMaisBaixo = Double.MAX_VALUE; - - if (!livros.isEmpty()) { - for (Livro livro : livros.values()) { - if (livro.getPreco() < precoMaisBaixo) { - precoMaisBaixo = livro.getPreco(); - } - } - } else { - throw new NoSuchElementException("A livraria está vazia!"); - } - - for(Map.Entry entry: livros.entrySet()) { - if(entry.getValue().getPreco() == precoMaisBaixo) { - Livro livroComPrecoMaisBaixo = livros.get(entry.getKey()); - livrosMaisBaratos.add(livroComPrecoMaisBaixo); - } - } - return livrosMaisBaratos; - } - - public static void main(String[] args) { - LivrariaOnline livrariaOnline = new LivrariaOnline(); - // Adiciona os livros à livraria online - livrariaOnline.adicionarLivro("https://amzn.to/3EclT8Z", new Livro("1984", "George Orwell", 50d)); - livrariaOnline.adicionarLivro("https://amzn.to/47Umiun", new Livro("A Revolução dos Bichos", "George Orwell", 7.05d)); - livrariaOnline.adicionarLivro("https://amzn.to/3L1FFI6", new Livro("Caixa de Pássaros - Bird Box: Não Abra os Olhos", "Josh Malerman", 19.99d)); - livrariaOnline.adicionarLivro("https://amzn.to/3OYb9jk", new Livro("Malorie", "Josh Malerman", 5d)); - livrariaOnline.adicionarLivro("https://amzn.to/45HQE1L", new Livro("E Não Sobrou Nenhum", "Agatha Christie", 50d)); - livrariaOnline.adicionarLivro("https://amzn.to/45u86q4", new Livro("Assassinato no Expresso do Oriente", "Agatha Christie", 5d)); - - // Exibe todos os livros ordenados por preço - System.out.println("Livros ordenados por preço: \n" + livrariaOnline.exibirLivrosOrdenadosPorPreco()); - - //Exibe todos os livros ordenados por autor - System.out.println("Livros ordenados por autor: \n" + livrariaOnline.exibirLivrosOrdenadosPorAutor()); - - // Pesquisa livros por autor - String autorPesquisa = "Josh Malerman"; - livrariaOnline.pesquisarLivrosPorAutor(autorPesquisa); - - // Obtém e exibe o livro mais caro - System.out.println("Livro mais caro: " + livrariaOnline.obterLivroMaisCaro()); - - // Obtém e exibe o livro mais barato - System.out.println("Livro mais barato: " + livrariaOnline.obterLivroMaisBarato()); - - // Remover um livro pelo título - livrariaOnline.removerLivro("1984"); - System.out.println(livrariaOnline.livros); - - } -} diff --git a/src/main/java/map/Ordenacao/Livro.java b/src/main/java/map/Ordenacao/Livro.java deleted file mode 100644 index b1e45bb..0000000 --- a/src/main/java/map/Ordenacao/Livro.java +++ /dev/null @@ -1,51 +0,0 @@ -package main.java.map.Ordenacao; - -import java.util.Comparator; -import java.util.Map; - -public class Livro { - private String titulo; - private String autor; - private double preco; - - public Livro(String titulo, String autor, double preco) { - this.titulo = titulo; - this.autor = autor; - this.preco = preco; - } - - public String getTitulo() { - return titulo; - } - - public String getAutor() { - return autor; - } - - public double getPreco() { - return preco; - } - - @Override - public String toString() { - return "Livro{" + - "titulo='" + titulo + '\'' + - ", autor='" + autor + '\'' + - ", preco=" + preco + - '}'; - } -} - -class ComparatorPorPreco implements Comparator> { - @Override - public int compare(Map.Entry l1, Map.Entry l2) { - return Double.compare(l1.getValue().getPreco(), l2.getValue().getPreco()); - } -} - -class ComparatorPorAutor implements Comparator> { - @Override - public int compare(Map.Entry l1, Map.Entry l2) { - return l1.getValue().getAutor().compareToIgnoreCase(l2.getValue().getAutor()); - } -} diff --git a/src/main/java/map/Ordenacao/OnlineBookstore.java b/src/main/java/map/Ordenacao/OnlineBookstore.java new file mode 100644 index 0000000..3c7c878 --- /dev/null +++ b/src/main/java/map/Ordenacao/OnlineBookstore.java @@ -0,0 +1,143 @@ +package main.java.map.Ordenacao; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + + +public class OnlineBookstore { + + + + private Map bookList; + + // contrutor + public OnlineBookstore() { + this.bookList = new HashMap<>(); + } + + // métodos + public void addBook(String link, Book book){ + bookList.put(link, book); + + } + + public void removeBook (String title) { + if (!bookList.isEmpty()) { + bookList.remove(title); + } + } + + // livros por preço + public void showBooksByPrice() { + if (!bookList.isEmpty()) { + List booksPrice = new ArrayList<>(bookList.values()); + booksPrice.sort(new Book.ComparatorByPrice()); + + System.out.println("Livros ordenados por preço:"); + for (Book book : booksPrice) { + System.out.println(book); + } + System.out.println("---------"); + } + } + + // livros por autor + public List showByAuthor(String author) { + List booksByAuthor = new ArrayList<>(); + boolean bookFound = false; + + for (Book b : bookList.values()) { // percorre o map + if (b.getAuthor().equalsIgnoreCase(author)) { // verifica se o autor é igual ao informado + booksByAuthor.add(b); // adiciona o livro à lista + bookFound = true; // marca que encontrou pelo menos um livro do autor e vai para o próximo if + } + } + + if (bookFound) { + System.out.println("Livros por: " + author); // exibe o autor + for (Book b : booksByAuthor) { // percorre a lista de livros do autor + System.out.printf("- %s (R$ %.2f)\n", b.getTitle(), b.getPrice()); // exibe o título e o preço do livro + } + } else { + System.out.println("Nenhum livro encontrado para o autor: " + author); + } + + return booksByAuthor; + } + + public Book getExpensiveBook(){ + Book expensiveBook = null; + double expensiveValue = Double.MIN_VALUE; + if (!bookList.isEmpty()){ + for (Book bookE : bookList.values()){ + if (bookE.getPrice() > expensiveValue) { + expensiveBook = bookE; + expensiveValue = bookE.getPrice(); + } + } + } + System.out.println("------------"); + System.out.println("Livro mais caro: " + expensiveBook); + return expensiveBook; + } + + + public Book getCheapestBook(){ + Book cheapBook = null; + double cheapValue = Double.MAX_VALUE; + if (!bookList.isEmpty()){ + for (Book bookC : bookList.values()){ + if (bookC.getPrice() < cheapValue) { + cheapBook = bookC; + cheapValue = bookC.getPrice(); + } + } + } + System.out.println("------------"); + System.out.println("Livro mais barato: " + cheapBook); + return cheapBook; + } + + + + + + public static void main(String[] args) { + + OnlineBookstore books = new OnlineBookstore(); + + + books.addBook("https://amzn.to/3EclT8Z", new Book("1984", "George Orwell", 50d)); + books.addBook("https://amzn.to/3YxHc6A", new Book("Admirável Mundo Novo", "Aldous Huxley", 45.5)); + books.addBook("https://amzn.to/3YeJK6O", new Book("O Conto da Aia", "Margaret Atwood", 60d)); + books.addBook("https://amzn.to/3Rnc2ME", new Book("Fahrenheit 451", "Ray Bradbury", 38.9)); + books.addBook("https://amzn.to/3KednAa", new Book("Laranja Mecânica", "Anthony Burgess", 42d)); + books.addBook("https://amzn.to/3KcZ9Ld", new Book("Ensaio Sobre a Cegueira", "José Saramago", 54d)); + books.addBook("https://amzn.to/3Reu1iG", new Book("O Hobbit", "J.R.R. Tolkien", 70.0)); + books.addBook("https://amzn.to/3X3TItM", new Book("O Senhor dos Anéis: A Sociedade do Anel", "J.R.R. Tolkien", 90.0)); + books.addBook("https://amzn.to/3X1OGbR", new Book("O Senhor dos Anéis: As Duas Torres", "J.R.R. Tolkien", 95.0)); + books.addBook("https://amzn.to/3Rg7hM7", new Book("O Senhor dos Anéis: O Retorno do Rei", "J.R.R. Tolkien", 100.0)); + books.addBook("https://amzn.to/3X2T39C", new Book("O Silmarillion", "J.R.R. Tolkien", 85.5)); + books.addBook("https://amzn.to/3ReuYg8", new Book("Contos Inacabados", "J.R.R. Tolkien", 78.0)); + books.addBook("https://amzn.to/3X5I9Lk", new Book("Beren e Lúthien", "J.R.R. Tolkien", 74.5)); + books.addBook("https://amzn.to/3X4FHJq", new Book("A Queda de Gondolin", "J.R.R. Tolkien", 79.9)); + + + books.showBooksByPrice(); + System.out.println("------------"); + + books.showByAuthor("J.R.R. Tolkien"); + books.getExpensiveBook(); + books.getCheapestBook(); + + } + + +} + + + + diff --git a/src/main/java/map/Pesquisa/ContagemPalavras.java b/src/main/java/map/Pesquisa/ContagemPalavras.java deleted file mode 100644 index 52de5b0..0000000 --- a/src/main/java/map/Pesquisa/ContagemPalavras.java +++ /dev/null @@ -1,62 +0,0 @@ -package main.java.map.Pesquisa; - -import java.util.HashMap; -import java.util.Map; - -public class ContagemPalavras { - //atributo - private Map palavras; - - public ContagemPalavras() { - this.palavras = new HashMap<>(); - } - - public void adicionarPalavras(String linguagem, Integer contagem) { - palavras.put(linguagem, contagem); - } - - public void removerPalavra(String palavra) { - if (!palavras.isEmpty()) { - palavras.remove(palavra); - } else { - System.out.println("O Map está vazio."); - } - } - - public int exibirContagemPalavras() { - int contagemTotal = 0; - for (int contagem : palavras.values()) { - contagemTotal += contagem; - } - return contagemTotal; - } - - public String encontrarPalavrasMaisFrequente() { - String linguagemMaisFrequente = null; - int maiorContagem = 0; - for (Map.Entry entry : palavras.entrySet()) { - if (entry.getValue() > maiorContagem) { - maiorContagem = entry.getValue(); - linguagemMaisFrequente = entry.getKey(); - } - } - return linguagemMaisFrequente; - } - - public static void main(String[] args) { - ContagemPalavras contagemLinguagens = new ContagemPalavras(); - - // Adiciona linguagens e suas contagens - contagemLinguagens.adicionarPalavras("Java", 2); - contagemLinguagens.adicionarPalavras("Python", 8); - contagemLinguagens.adicionarPalavras("JavaScript", 1); - contagemLinguagens.adicionarPalavras("C#", 6); - - // Exibe a contagem total de linguagens - System.out.println("Existem " + contagemLinguagens.exibirContagemPalavras() + " palavras."); - - // Encontra e exibe a linguagem mais frequente - String linguagemMaisFrequente = contagemLinguagens.encontrarPalavrasMaisFrequente(); - System.out.println("A linguagem mais frequente é: " + linguagemMaisFrequente); - } -} diff --git a/src/main/java/map/Pesquisa/EstoqueProdutos.java b/src/main/java/map/Pesquisa/EstoqueProdutos.java deleted file mode 100644 index b8561d4..0000000 --- a/src/main/java/map/Pesquisa/EstoqueProdutos.java +++ /dev/null @@ -1,100 +0,0 @@ -package main.java.map.Pesquisa; - -import java.util.HashMap; -import java.util.Map; - -public class EstoqueProdutos { - private Map estoqueProdutosMap; - - public EstoqueProdutos() { - this.estoqueProdutosMap = new HashMap<>(); - } - - public void adicionarProduto(long cod, String nome, int quantidade, double preco) { - estoqueProdutosMap.put(cod, new Produto(nome, preco, quantidade)); - } - - public void exibirProdutos() { - System.out.println(estoqueProdutosMap); - } - - public double calcularValorTotalEstoque() { - double valorTotalEstoque = 0d; - if (!estoqueProdutosMap.isEmpty()) { - for (Produto p : estoqueProdutosMap.values()) { - valorTotalEstoque += p.getQuantidade() * p.getPreco(); - } - } - return valorTotalEstoque; - } - - public Produto obterProdutoMaisCaro() { - Produto produtoMaisCaro = null; - double maiorPreco = Double.MIN_VALUE; - for (Produto p : estoqueProdutosMap.values()) { - if (p.getPreco() > maiorPreco) { - produtoMaisCaro = p; - maiorPreco = p.getPreco(); - } - } - return produtoMaisCaro; - } - - public Produto obterProdutoMaisBarato() { - Produto produtoMaisBarato = null; - double menorPreco = Double.MAX_VALUE; - for (Produto p : estoqueProdutosMap.values()) { - if (p.getPreco() < menorPreco) { - produtoMaisBarato = p; - menorPreco = p.getPreco(); - } - } - return produtoMaisBarato; - } - - public Produto obterProdutoMaiorQuantidadeValorTotalNoEstoque() { - Produto produtoMaiorQuantidadeValorNoEstoque = null; - double maiorValorTotalProdutoEstoque = 0d; - if (!estoqueProdutosMap.isEmpty()) { - for (Map.Entry entry : estoqueProdutosMap.entrySet()) { - double valorProdutoEmEstoque = entry.getValue().getPreco() * entry.getValue().getQuantidade(); - if (valorProdutoEmEstoque > maiorValorTotalProdutoEstoque) { - maiorValorTotalProdutoEstoque = valorProdutoEmEstoque; - produtoMaiorQuantidadeValorNoEstoque = entry.getValue(); - } - } - } - return produtoMaiorQuantidadeValorNoEstoque; - } - - public static void main(String[] args) { - EstoqueProdutos estoque = new EstoqueProdutos(); - - // Exibe o estoque vazio - estoque.exibirProdutos(); - - // Adiciona produtos ao estoque - estoque.adicionarProduto(1L, "Notebook", 1, 1500.0); - estoque.adicionarProduto(2L, "Mouse", 5, 25.0); - estoque.adicionarProduto(3L, "Monitor", 10, 400.0); - estoque.adicionarProduto(4L, "Teclado", 2, 40.0); - - // Exibe os produtos no estoque - estoque.exibirProdutos(); - - // Calcula e exibe o valor total do estoque - System.out.println("Valor total do estoque: R$" + estoque.calcularValorTotalEstoque()); - - // Obtém e exibe o produto mais caro - Produto produtoMaisCaro = estoque.obterProdutoMaisCaro(); - System.out.println("Produto mais caro: " + produtoMaisCaro); - - // Obtém e exibe o produto mais barato - Produto produtoMaisBarato = estoque.obterProdutoMaisBarato(); - System.out.println("Produto mais barato: " + produtoMaisBarato); - - // Obtém e exibe o produto com a maior quantidade em valor no estoque - Produto produtoMaiorQuantidadeValorTotal = estoque.obterProdutoMaiorQuantidadeValorTotalNoEstoque(); - System.out.println("Produto com maior quantidade em valor no estoque: " + produtoMaiorQuantidadeValorTotal); - } -} diff --git a/src/main/java/map/Pesquisa/Product.java b/src/main/java/map/Pesquisa/Product.java new file mode 100644 index 0000000..a5dbfec --- /dev/null +++ b/src/main/java/map/Pesquisa/Product.java @@ -0,0 +1,35 @@ +package main.java.map.Pesquisa; + +public class Product { + // Cada produto possui atributos como nome, cod, preço e quantidade. + private String name; + + private double price; + private int quantity; + + // Construtor + public Product(String name, double price, int quantity) { + this.name = name; + + this.price = price; + this.quantity = quantity; + } + + public String getName() { + return name; + } + + + public double getPrice() { + return price; + } + + public int getQuantity() { + return quantity; + } + + @Override + public String toString() { + return String.format("[Nome: %s | Preço (R$): %.2f | Quantidade: %d ]", name, price, quantity); + } +} diff --git a/src/main/java/map/Pesquisa/ProductStorage.java b/src/main/java/map/Pesquisa/ProductStorage.java new file mode 100644 index 0000000..49c34b3 --- /dev/null +++ b/src/main/java/map/Pesquisa/ProductStorage.java @@ -0,0 +1,138 @@ +package main.java.map.Pesquisa; + +import java.util.HashMap; +import java.util.Map; + +public class ProductStorage { + + private Map productsInStorage; + + public ProductStorage() { + this.productsInStorage = new HashMap<>(); + } + + // métodos + //adicionar Produto + public void addProduct (long code, String name, int quantity, double price){ + productsInStorage.put(code, new Product(name, price, quantity)); + } + + // exibir produtos + public void showProducts(){ + if (productsInStorage.isEmpty()){ + System.out.println("Estoque está vazio"); + System.out.println("-----------"); + + } + else { + System.out.println("Lista de Produtos: " + productsInStorage); + System.out.println("-----------"); + } + } + + // total no estoque + public double storageTotal(){ + double totalStorageValue = 0d; // variavel para armazenar o valor total + if(!productsInStorage.isEmpty()){ + for (Product p : productsInStorage.values()) { // para pegar apenas os valores desejados + totalStorageValue += p.getQuantity() * p.getPrice(); + } + } + System.out.printf("Total em estoque: R$ %.2f", totalStorageValue); + return totalStorageValue; + } + + public Product getExpensiveProduct(){ + Product expensiveProduct = null; + double expensiveValue = Double.MIN_VALUE; // Se quero achar o mais caro, começo com o menor valor possível. + if (!productsInStorage.isEmpty()){ + for(Product e : productsInStorage.values()){ + if(e.getPrice() > expensiveValue ){ + expensiveProduct = e; + expensiveValue = e.getPrice(); + + } + + } + + } + System.out.println("Produto mais caro: " + expensiveProduct); + return expensiveProduct; + + } + + + public Product getTheCheapestProduct (){ + Product cheapestProduct = null; + double cheapestValue = Double.MAX_VALUE; // Se quero achar o mais barato, começo com o maior valor possível. + if (!productsInStorage.isEmpty()){ + for(Product c : productsInStorage.values()){ + if(c.getPrice() < cheapestValue ){ + cheapestProduct = c; + cheapestValue = c.getPrice(); + + } + + } + + } + System.out.println("Produto mais barato: " + cheapestProduct); + return cheapestProduct; + + + } + + + // maior produto em estoque + public Product getMajorQuantityProduct() { + Product productMajor = null; + double totalPrice = 0d; + + + if (!productsInStorage.isEmpty()){ + for(Product t : productsInStorage.values()){ // para pegar apenas os valores desejados + if(t.getQuantity() * t.getPrice() > totalPrice){ // verifica se o produto é maior que o totalPrice + totalPrice = t.getQuantity() * t.getPrice(); // calcula o totalPrice + productMajor = t; // atribui o produto ao productMajor + + } + + } + + } + System.out.printf("Produto com mais quantidade: %s | -> Preço Total R$: %.2f", productMajor, totalPrice); + + System.out.println(" "); + System.out.println("--------------------"); + return productMajor; + + } + + + + + public static void main(String[] args) { + + ProductStorage products = new ProductStorage(); + + products.showProducts(); + System.out.println("Adicionando produtos..."); + products.addProduct(1, "Arroz", 3, 30.00); + products.addProduct(2, "Feijão", 3, 15.00); // para testar + products.addProduct(2, "Feijão", 6, 15.00); + products.addProduct(3, "Broa de Milho", 10, 12.00); + products.addProduct(4, "Ovos", 30, 29.00); + products.addProduct(5, "Iogurte", 15, 10.00); + products.addProduct(6, "Sal", 1, 2.00); + + products.showProducts(); + + + products.getExpensiveProduct(); + products.getTheCheapestProduct(); + products.getMajorQuantityProduct(); + products.storageTotal(); + + + } +} diff --git a/src/main/java/map/Pesquisa/Produto.java b/src/main/java/map/Pesquisa/Produto.java deleted file mode 100644 index ebc2031..0000000 --- a/src/main/java/map/Pesquisa/Produto.java +++ /dev/null @@ -1,35 +0,0 @@ -package main.java.map.Pesquisa; - -public class Produto { - //atributos - private String nome; - private double preco; - private int quantidade; - - public Produto(String nome, double preco, int quantidade) { - this.nome = nome; - this.preco = preco; - this.quantidade = quantidade; - } - - public String getNome() { - return nome; - } - - public double getPreco() { - return preco; - } - - public int getQuantidade() { - return quantidade; - } - - @Override - public String toString() { - return "Produto{" + - "nome='" + nome + '\'' + - ", preco=" + preco + - ", quantidade=" + quantidade + - '}'; - } -} diff --git a/src/main/java/map/Pesquisa/WordCount.java b/src/main/java/map/Pesquisa/WordCount.java new file mode 100644 index 0000000..9c43df8 --- /dev/null +++ b/src/main/java/map/Pesquisa/WordCount.java @@ -0,0 +1,84 @@ +package main.java.map.Pesquisa; + +import java.util.HashMap; +import java.util.Map; + +public class WordCount { + + + + private Map wordCount; + + // construtor + public WordCount() { + this.wordCount = new HashMap<>(); + } + + + // adicionar palavra + public void addWord(String word, Integer count){ + wordCount.put(word, count); + } + + // contagem de palavras + public void showWordCount(){ + if(!wordCount.isEmpty()){ + System.out.println("Contagem de palavras: " + wordCount); + } + else{ + System.out.println("A lista está vazia"); + } + } + + //remover palavras + public void removeWord(String word){ + if(!wordCount.isEmpty()){ + System.out.println("Removendo palavra..."); + wordCount.remove(word); + } + else{ + System.out.println("A lista está vazia"); + } + + + } + //encontrarPalavraMaisFrequente() + public String wordFrequency(){ + String wordString = null; + int bigNumber = 0; + + if (!wordCount.isEmpty()) { + for (String w : wordCount.keySet()){ // .keySet() retorna um conjunto de chaves (palavras) do mapa + if(wordCount.get(w) > bigNumber){ //.get(w) retorna o valor inteiro associado à palavra + wordString = w; + bigNumber = wordCount.get(w); + } + + } + } + System.out.printf("Palavra com maior contagem: " + wordString + " | Número: " + bigNumber); + return wordString; + } + + + public static void main(String[] args) { + + WordCount count = new WordCount(); + + count.showWordCount(); + + count.addWord("C",1); + count.addWord("Java",2); + count.addWord("Python",3); + count.addWord("JavaScript",6); + count.addWord("C#",4); + count.addWord("Assembly", 5); + count.addWord("Ruby", 9); + + count.showWordCount(); + count.removeWord("Assembly"); + count.showWordCount(); + count.wordFrequency(); + } + +} diff --git a/src/main/java/set/OperacoesBasicas/ConjuntoConvidados.java b/src/main/java/set/OperacoesBasicas/ConjuntoConvidados.java deleted file mode 100644 index 8ae9d60..0000000 --- a/src/main/java/set/OperacoesBasicas/ConjuntoConvidados.java +++ /dev/null @@ -1,73 +0,0 @@ -package main.java.set.OperacoesBasicas; - -import java.util.HashSet; -import java.util.Set; - -public class ConjuntoConvidados { - //atributo - private Set convidadosSet; - - public ConjuntoConvidados() { - this.convidadosSet = new HashSet<>(); - } - - public void adicionarConvidado(String nome, int codigoConvite) { - convidadosSet.add(new Convidado(nome, codigoConvite)); - } - - public void removerConvidadoPorCodigoConvite(int codigoConvite) { - Convidado convidadoParaRemover = null; - if (!convidadosSet.isEmpty()) { - for (Convidado c : convidadosSet) { - if (c.getCodigoConvite() == codigoConvite) { - convidadoParaRemover = c; - break; - } - } - convidadosSet.remove(convidadoParaRemover); - } else { - throw new RuntimeException("O conjunto está vazio!"); - } - } - - public int contarConvidados() { - return convidadosSet.size(); - } - - public void exibirConvidados() { - if (!convidadosSet.isEmpty()) { - System.out.println(convidadosSet); - } else { - System.out.println("O conjunto está vazio!"); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe ConjuntoConvidados - ConjuntoConvidados conjuntoConvidados = new ConjuntoConvidados(); - - // Exibindo o número de convidados no conjunto (deve ser zero) - System.out.println("Existem " + conjuntoConvidados.contarConvidados() + " convidado(s) dentro do Set de Convidados"); - - // Adicionando convidados ao conjunto - conjuntoConvidados.adicionarConvidado("Alice", 1234); - conjuntoConvidados.adicionarConvidado("Bob", 1235); - conjuntoConvidados.adicionarConvidado("Charlie", 1235); - conjuntoConvidados.adicionarConvidado("David", 1236); - - // Exibindo os convidados no conjunto - System.out.println("Convidados no conjunto:"); - conjuntoConvidados.exibirConvidados(); - - // Exibindo o número atualizado de convidados no conjunto - System.out.println("Existem " + conjuntoConvidados.contarConvidados() + " convidado(s) dentro do Set de Convidados"); - - // Removendo um convidado do conjunto por código de convite - conjuntoConvidados.removerConvidadoPorCodigoConvite(1236); - System.out.println("Existem " + conjuntoConvidados.contarConvidados() + " convidado(s) dentro do Set de Convidados após a remoção"); - - // Exibindo os convidados atualizados no conjunto - System.out.println("Convidados no conjunto após a remoção:"); - conjuntoConvidados.exibirConvidados(); - } -} diff --git a/src/main/java/set/OperacoesBasicas/ConjuntoPalavrasUnicas.java b/src/main/java/set/OperacoesBasicas/ConjuntoPalavrasUnicas.java deleted file mode 100644 index cd81295..0000000 --- a/src/main/java/set/OperacoesBasicas/ConjuntoPalavrasUnicas.java +++ /dev/null @@ -1,71 +0,0 @@ -package main.java.set.OperacoesBasicas; - -import java.util.HashSet; -import java.util.Set; - -public class ConjuntoPalavrasUnicas { - //atributos - private Set palavrasUnicasSet; - - public ConjuntoPalavrasUnicas() { - this.palavrasUnicasSet = new HashSet<>(); - } - - public void adicionarPalavra(String palavra) { - palavrasUnicasSet.add(palavra); - } - - public void removerPalavra(String palavra) { - if (!palavrasUnicasSet.isEmpty()) { - if (palavrasUnicasSet.contains(palavra)) { - palavrasUnicasSet.remove(palavra); - } else { - System.out.println("Palavra não encontrada no conjunto!"); - } - } else { - System.out.println("O conjunto está vazio!"); - } - } - - public boolean verificarPalavra(String palavra) { - return palavrasUnicasSet.contains(palavra); - } - - public void exibirPalavrasUnicas() { - if(!palavrasUnicasSet.isEmpty()) { - System.out.println(palavrasUnicasSet); - } else { - System.out.println("O conjunto está vazio!"); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe ConjuntoPalavrasUnicas - ConjuntoPalavrasUnicas conjuntoLinguagens = new ConjuntoPalavrasUnicas(); - - // Adicionando linguagens únicas ao conjunto - conjuntoLinguagens.adicionarPalavra("Java"); - conjuntoLinguagens.adicionarPalavra("Python"); - conjuntoLinguagens.adicionarPalavra("JavaScript"); - conjuntoLinguagens.adicionarPalavra("Python"); - conjuntoLinguagens.adicionarPalavra("C++"); - conjuntoLinguagens.adicionarPalavra("Ruby"); - - // Exibindo as linguagens únicas no conjunto - conjuntoLinguagens.exibirPalavrasUnicas(); - - // Removendo uma linguagem do conjunto - conjuntoLinguagens.removerPalavra("Python"); - conjuntoLinguagens.exibirPalavrasUnicas(); - - // Removendo uma linguagem inexistente - conjuntoLinguagens.removerPalavra("Swift"); - - // Verificando se uma linguagem está no conjunto - System.out.println("A linguagem 'Java' está no conjunto? " + conjuntoLinguagens.verificarPalavra("Java")); - System.out.println("A linguagem 'Python' está no conjunto? " + conjuntoLinguagens.verificarPalavra("Python")); - - // Exibindo as linguagens únicas atualizadas no conjunto - conjuntoLinguagens.exibirPalavrasUnicas(); - } -} diff --git a/src/main/java/set/OperacoesBasicas/Convidado.java b/src/main/java/set/OperacoesBasicas/Convidado.java deleted file mode 100644 index 655bf27..0000000 --- a/src/main/java/set/OperacoesBasicas/Convidado.java +++ /dev/null @@ -1,42 +0,0 @@ -package main.java.set.OperacoesBasicas; - -import java.util.Objects; - -public class Convidado { - //atributos - private String nome; - private int codigoConvite; - - public Convidado(String nome, int codigoConvite) { - this.nome = nome; - this.codigoConvite = codigoConvite; - } - - public String getNome() { - return nome; - } - - public int getCodigoConvite() { - return codigoConvite; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof Convidado convidado)) return false; - return getCodigoConvite() == convidado.getCodigoConvite(); - } - - @Override - public int hashCode() { - return Objects.hash(getCodigoConvite()); - } - - @Override - public String toString() { - return "Convidado{" + - "nome='" + nome + '\'' + - ", codigoConvite=" + codigoConvite + - '}'; - } -} diff --git a/src/main/java/set/OperacoesBasicas/Guest.java b/src/main/java/set/OperacoesBasicas/Guest.java new file mode 100644 index 0000000..cd6b5c1 --- /dev/null +++ b/src/main/java/set/OperacoesBasicas/Guest.java @@ -0,0 +1,43 @@ +package main.java.set.OperacoesBasicas; + +import java.util.Objects; + +public class Guest { + + private String name; + private int invitationCode; + + //Construtor + public Guest(String name, int invitationCode) { + this.name = name; + this.invitationCode = invitationCode; + } + + //Get e set + public String getName() { + return name; + } + + public int getInvitationCode() { + return invitationCode; + } + + @Override + public String toString() { + return String.format("[Nome: %s | Convite nº : %d ]", name, invitationCode); + } + + // para evitar convites repertidos + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Guest guest)) return false; + return getInvitationCode() == guest.getInvitationCode(); + + } + + @Override + public int hashCode() { + return Objects.hash(getInvitationCode()); + } +} diff --git a/src/main/java/set/OperacoesBasicas/SetGuests.java b/src/main/java/set/OperacoesBasicas/SetGuests.java new file mode 100644 index 0000000..790cefd --- /dev/null +++ b/src/main/java/set/OperacoesBasicas/SetGuests.java @@ -0,0 +1,75 @@ +package main.java.set.OperacoesBasicas; + + +import java.util.HashSet; + +import java.util.Set; + +public class SetGuests { + + private Set guestList; + + public SetGuests() { + this.guestList = new HashSet<>(); + } + + public void addGuest (String name, int invitationCode){ + guestList.add(new Guest(name, invitationCode)); + } + + public void removeGuest (int invitationCode){ + Guest guestToRemove = null; + for (Guest g : guestList){ + if(g.getInvitationCode() == invitationCode){ + guestToRemove = g; + break; + } + + } + guestList.remove(guestToRemove); + } + + // contar convidados com método set + public int countGuests (){ + return guestList.size(); + } + + public void printGuests() { + System.out.println("Agenda de contatos: " + guestList); + } + + + public static void main(String[] args) { + + SetGuests guests = new SetGuests(); + + guests.printGuests(); + System.out.println("----------------"); + System.out.println("Adicionando convidados..."); + + guests.addGuest("Camila", 1); + guests.addGuest("Carlos", 2); + guests.addGuest("Camila", 3); + guests.addGuest("Renan", 4); + guests.addGuest("Sarah", 5); + guests.addGuest("Leon", 6); + guests.addGuest("Lion", 6); // para verificar erro e se aparece na lista + + guests.printGuests(); + System.out.println("----------------"); + System.out.println("Número de convidados: " + guests.countGuests()); + + System.out.println("----------------"); + System.out.println("Removendo convidados..."); + guests.removeGuest(3); + + guests.printGuests(); + System.out.println("----------------"); + System.out.println("Número de convidados: " + guests.countGuests()); + + + } + + + +} diff --git a/src/main/java/set/OperacoesBasicas/UniqueWords.java b/src/main/java/set/OperacoesBasicas/UniqueWords.java new file mode 100644 index 0000000..55062f4 --- /dev/null +++ b/src/main/java/set/OperacoesBasicas/UniqueWords.java @@ -0,0 +1,86 @@ +package main.java.set.OperacoesBasicas; + +import java.util.HashSet; +import java.util.Set; + +public class UniqueWords { + + + private Set uniqueWordsSet; + + public UniqueWords() { + this.uniqueWordsSet = new HashSet<>(); + + } + + + public void addWord(String word){ + uniqueWordsSet.add(word); + + } + + // Remover palavras. +public void removeWord(String word){ + String wordToRemove = null; + + for (String w : uniqueWordsSet){ + if (w.equals(word)) { + wordToRemove = w; + break; + } + } + if (wordToRemove != null) { + uniqueWordsSet.remove(wordToRemove); + } +} + +public boolean checkWord (String word){ + if (uniqueWordsSet.isEmpty()) { + throw new RuntimeException("A lista está vazia."); + } + else{ + if (uniqueWordsSet.contains(word)){ + System.out.println("A palavra \"" + word + "\" está presente no conjunto."); + return true; + } else { + System.out.println("A palavra \"" + word + "\" NÃO está presente no conjunto."); + return false; + } + } + +} + +public void printUniqueWords (){ + System.out.println(uniqueWordsSet); +} + +public static void main(String[] args) { + + UniqueWords wordsSet = new UniqueWords(); + System.out.println("Lista de palavras únicas:"); + wordsSet.printUniqueWords(); + System.out.println("----------------------"); + + System.out.println("Adicionando palavras..."); + wordsSet.addWord("Terra"); + wordsSet.addWord("Sol"); + wordsSet.addWord("Lua"); + wordsSet.addWord("Lua"); // repetida para testar + wordsSet.addWord("Marte"); + System.out.println("Lista de palavras únicas:"); + wordsSet.printUniqueWords(); + System.out.println("----------------------"); + + + System.out.println("Removendo palavras..."); + wordsSet.removeWord("Lua"); + wordsSet.printUniqueWords(); + System.out.println("----------------------"); + + + wordsSet.checkWord("Sol"); + wordsSet.checkWord("Mercúrio"); + System.out.println("----------------------"); + +} +} diff --git a/src/main/java/set/Ordenacao/Aluno.java b/src/main/java/set/Ordenacao/Aluno.java deleted file mode 100644 index d924034..0000000 --- a/src/main/java/set/Ordenacao/Aluno.java +++ /dev/null @@ -1,62 +0,0 @@ -package main.java.set.Ordenacao; - -import java.util.Comparator; -import java.util.Objects; - -public class Aluno implements Comparable{ - //atributos - private String nome; - private Long matricula; - private double media; - - public Aluno(String nome, Long matricula, double media) { - this.nome = nome; - this.matricula = matricula; - this.media = media; - } - - public String getNome() { - return nome; - } - - public Long getMatricula() { - return matricula; - } - - public double getMedia() { - return media; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof Aluno aluno)) return false; - return Objects.equals(getMatricula(), aluno.getMatricula()); - } - - @Override - public int hashCode() { - return Objects.hash(getMatricula()); - } - - @Override - public int compareTo(Aluno aluno) { - return nome.compareTo(aluno.getNome()); - } - - @Override - public String toString() { - return "Aluno{" + - "nome='" + nome + '\'' + - ", matricula=" + matricula + - ", media=" + media + - '}'; - } -} - -class ComparatorNota implements Comparator { - @Override - public int compare(Aluno o1, Aluno o2) { - return Double.compare(o1.getMedia(), o2.getMedia()); - } -} diff --git a/src/main/java/set/Ordenacao/CadastroProdutos.java b/src/main/java/set/Ordenacao/CadastroProdutos.java deleted file mode 100644 index 4dbcf9e..0000000 --- a/src/main/java/set/Ordenacao/CadastroProdutos.java +++ /dev/null @@ -1,57 +0,0 @@ -package main.java.set.Ordenacao; - -import java.util.HashSet; -import java.util.Set; -import java.util.TreeSet; - -public class CadastroProdutos { - //atributo - private Set produtoSet; - - public CadastroProdutos() { - this.produtoSet = new HashSet<>(); - } - - public void adicionarProduto(long cod, String nome, double preco, int quantidade) { - produtoSet.add(new Produto(cod, nome, preco, quantidade)); - } - - public Set exibirProdutosPorNome() { - Set produtosPorNome = new TreeSet<>(produtoSet); - if (!produtoSet.isEmpty()) { - return produtosPorNome; - } else { - throw new RuntimeException("O conjunto está vazio!"); - } - } - - public Set exibirProdutosPorPreco() { - Set produtosPorPreco = new TreeSet<>(new ComparatorPorPreco()); - if (!produtoSet.isEmpty()) { - produtosPorPreco.addAll(produtoSet); - return produtosPorPreco; - } else { - throw new RuntimeException("O conjunto está vazio!"); - } - } - - public static void main(String[] args) { - // Criando uma instância do CadastroProdutos - CadastroProdutos cadastroProdutos = new CadastroProdutos(); - - // Adicionando produtos ao cadastro - cadastroProdutos.adicionarProduto(1L, "Smartphone", 1000d, 10); - cadastroProdutos.adicionarProduto(2L, "Notebook", 1500d, 5); - cadastroProdutos.adicionarProduto(1L, "Mouse", 30d, 20); - cadastroProdutos.adicionarProduto(4L, "Teclado", 50d, 15); - - // Exibindo todos os produtos no cadastro - System.out.println(cadastroProdutos.produtoSet); - - // Exibindo produtos ordenados por nome - System.out.println(cadastroProdutos.exibirProdutosPorNome()); - - // Exibindo produtos ordenados por preço - System.out.println(cadastroProdutos.exibirProdutosPorPreco()); - } -} diff --git a/src/main/java/set/Ordenacao/GerenciadorAlunos.java b/src/main/java/set/Ordenacao/GerenciadorAlunos.java deleted file mode 100644 index 7c9da5e..0000000 --- a/src/main/java/set/Ordenacao/GerenciadorAlunos.java +++ /dev/null @@ -1,82 +0,0 @@ -package main.java.set.Ordenacao; - -import java.util.HashSet; -import java.util.Set; -import java.util.TreeSet; - -public class GerenciadorAlunos { - //atributos - private Set alunosSet; - - public GerenciadorAlunos() { - this.alunosSet = new HashSet<>(); - } - - public void adicionarAluno(String nome, Long matricula, double media) { - alunosSet.add(new Aluno(nome, matricula, media)); - } - - public void removerAlunoPorMatricula(long matricula) { - Aluno alunoParaRemover = null; - if (!alunosSet.isEmpty()) { - for (Aluno a : alunosSet) { - if (a.getMatricula() == matricula) { - alunoParaRemover = a; - break; - } - } - alunosSet.remove(alunoParaRemover); - } else { - throw new RuntimeException("O conjunto está vazio!"); - } - - if (alunoParaRemover == null) { - System.out.println("Matricula não encontrada!"); - } - } - - public void exibirAlunosPorNome() { - Set alunosPorNome = new TreeSet<>(alunosSet); - if (!alunosSet.isEmpty()) { - System.out.println(alunosPorNome); - } else { - System.out.println("O conjunto está vazio!"); - } - } - - public void exibirAlunosPorNota() { - Set alunosPorNota = new TreeSet<>(new ComparatorNota()); - if (!alunosSet.isEmpty()) { - alunosPorNota.addAll(alunosSet); - System.out.println(alunosPorNota); - } else { - System.out.println("O conjunto está vazio!"); - } - } - - public static void main(String[] args) { - // Criando uma instância do GerenciadorAlunos - GerenciadorAlunos gerenciadorAlunos = new GerenciadorAlunos(); - - // Adicionando alunos ao gerenciador - gerenciadorAlunos.adicionarAluno("João", 123456L, 7.5); - gerenciadorAlunos.adicionarAluno("Maria", 123457L, 9.0); - gerenciadorAlunos.adicionarAluno("Carlos", 123458L, 5.0); - gerenciadorAlunos.adicionarAluno("Ana", 123459L, 6.8); - - // Exibindo todos os alunos no gerenciador - System.out.println("Alunos no gerenciador:"); - System.out.println(gerenciadorAlunos.alunosSet); - - // Removendo um aluno com matrícula inválida e outro pelo número de matrícula - gerenciadorAlunos.removerAlunoPorMatricula(000L); - gerenciadorAlunos.removerAlunoPorMatricula(123457L); - System.out.println(gerenciadorAlunos.alunosSet); - - // Exibindo alunos ordenados por nome - gerenciadorAlunos.exibirAlunosPorNome(); - - // Exibindo alunos ordenados por nota - gerenciadorAlunos.exibirAlunosPorNota(); - } -} diff --git a/src/main/java/set/Ordenacao/Product.java b/src/main/java/set/Ordenacao/Product.java new file mode 100644 index 0000000..9cb48aa --- /dev/null +++ b/src/main/java/set/Ordenacao/Product.java @@ -0,0 +1,85 @@ +package main.java.set.Ordenacao; + +import java.util.Comparator; +import java.util.Objects; + +public class Product implements Comparable{ + + // Cada produto possui atributos como nome, cod, preço e quantidade. + private String name; + private long code; + private double price; + private int quantity; + + // Construtor + public Product(String name, long code, double price, int quantity) { + this.name = name; + this.code = code; + this.price = price; + this.quantity = quantity; + } + + public String getName() { + return name; + } + + public long getCode() { + return code; + } + + public double getPrice() { + return price; + } + + public int getQuantity() { + return quantity; + } + + @Override + public String toString() { + return String.format("[Nome: %s | Código: %d | Preço (R$): %.2f | Quantidade: %d ]", name, code, price, quantity); + } + + // Método Equal e Hash: o produto é igual se o código é igual + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!(obj instanceof Product product)) + return false; + return getCode() == product.getCode(); + } + + @Override + public int hashCode() { + return Objects.hash(getCode()); + } + + //implementa Comparable porque o TreeSet não sabe como comparar dois objetos Product para decidir a ordem + @Override + public int compareTo(Product o) { + return name.compareToIgnoreCase(o.getName()); + } +//Neste caso, optamos por ordenar os produtos pelo atributo 'name'. +// O método compareToIgnoreCase() é utilizado para fazer a comparação +// de strings desconsiderando diferenças entre maiúsculas e minúsculas. + + + // como quero ordernar outro critério, usa Comparator + public static class ComparatorByPrice implements Comparator { + @Override + public int compare(Product p1, Product p2) { + return Double.compare(p1.getPrice(),p2.getPrice()); + } +} + // como quero ordernar outro critério, usa Comparator + public static class ComparatorByQuantity implements Comparator { + @Override + public int compare(Product p1, Product p2) { + return Integer.compare(p1.getQuantity(),p2.getQuantity()); + } + +} + +} \ No newline at end of file diff --git a/src/main/java/set/Ordenacao/ProductRegistration.java b/src/main/java/set/Ordenacao/ProductRegistration.java new file mode 100644 index 0000000..5f0554a --- /dev/null +++ b/src/main/java/set/Ordenacao/ProductRegistration.java @@ -0,0 +1,85 @@ +package main.java.set.Ordenacao; + + +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; + +import main.java.set.Ordenacao.Product.ComparatorByPrice; +import main.java.set.Ordenacao.Product.ComparatorByQuantity; + +public class ProductRegistration { + + /* - `adicionarProduto(long cod, String nome, double preco, int quantidade)`: Adiciona um produto ao cadastro. +- `exibirProdutosPorNome()`: Exibe todos os produtos do cadastro em ordem alfabética pelo nome. +- `exibirProdutosPorPreco()`: Exibe todos os produtos do cadastro em ordem crescente de preço.*/ + + private Set productList; + + public ProductRegistration() { + this.productList = new HashSet<>(); + } + + public void addProduct (long code, String name, double price, int quantity){ + productList.add(new Product(name, code, price, quantity)); + } + + public Set showProductByName(){ + Set productByName = new TreeSet<>(productList); + if (productList.isEmpty()){ + throw new IllegalStateException("A lista está vazia."); + } + else{ + return productByName; + } + + } + + public Set showProductByPrice(){ + Set productByPrice = new TreeSet<>(new ComparatorByPrice()); + if (productList.isEmpty()){ + throw new IllegalStateException("A lista está vazia."); + } + else{ + productByPrice.addAll(productList); + return productByPrice; + } + + } + + public Set showProductByQuantity(){ + Set productByQuantity = new TreeSet<>(new ComparatorByQuantity()); + if (productList.isEmpty()){ + throw new IllegalStateException("A lista está vazia."); + } + else{ + productByQuantity.addAll(productList); + return productByQuantity; + } + + } + + + + public static void main(String[] args) { + + ProductRegistration products = new ProductRegistration(); + + System.out.println("Adicionando produtos..."); + products.addProduct(1, "Arroz", 30.00, 3); + products.addProduct(2, "Feijão", 10.00, 2); + products.addProduct(3, "Caldo de galinha", 1.00, 10); + products.addProduct(4, "Broa de Milho", 11.00, 5); + products.addProduct(5, "Ovos", 15.00, 30); + products.addProduct(5, "Farinha", 16.00, 3); + + + System.out.println("Produtos por ordem alfabética: " + products.showProductByName()); + System.out.println("--------------"); + System.out.println("Produtos por ordem crescente (R$): " + products.showProductByPrice()); + System.out.println("--------------"); + System.out.println("Produtos por ordem de Quantidade crescente: " + products.showProductByQuantity()); + System.out.println("--------------"); + } +} + diff --git a/src/main/java/set/Ordenacao/Produto.java b/src/main/java/set/Ordenacao/Produto.java deleted file mode 100644 index d48d34c..0000000 --- a/src/main/java/set/Ordenacao/Produto.java +++ /dev/null @@ -1,77 +0,0 @@ -package main.java.set.Ordenacao; - -import java.util.Comparator; -import java.util.Objects; - -public class Produto implements Comparable { - //atributos - private long codigo; - private String nome; - private double preco; - private int quantidade; - - public Produto(long codigo, String nome, double preco, int quantidade) { - this.codigo = codigo; - this.nome = nome; - this.preco = preco; - this.quantidade = quantidade; - } - - @Override - public int compareTo(Produto p) { - return nome.compareToIgnoreCase(p.getNome()); - } - - public long getCodigo() { - return codigo; - } - - public String getNome() { - return nome; - } - - public double getPreco() { - return preco; - } - - public int getQuantidade() { - return quantidade; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof Produto produto)) return false; - return getCodigo() == produto.getCodigo(); - } - - @Override - public int hashCode() { - return Objects.hash(getCodigo()); - } - - @Override - public String toString() { - return "Produto{" + - "codigo=" + codigo + - ", nome='" + nome + '\'' + - ", preco=" + preco + - ", quantidade=" + quantidade + - '}'; - } -} - -class ComparatorPorPreco implements Comparator { - @Override - public int compare(Produto p1, Produto p2) { - return Double.compare(p1.getPreco(), p2.getPreco()); - } -} - - - - - - - - diff --git a/src/main/java/set/Ordenacao/Student.java b/src/main/java/set/Ordenacao/Student.java new file mode 100644 index 0000000..48021d0 --- /dev/null +++ b/src/main/java/set/Ordenacao/Student.java @@ -0,0 +1,71 @@ +package main.java.set.Ordenacao; + +import java.util.Comparator; +import java.util.Objects; + +public class Student implements Comparable{ + + //Cada aluno terá atributos como nome, matrícula e nota. + private String name; + private long registration; + private double averageGrade; + + public Student(String name, long registration, double averageGrade) { + this.name = name; + this.registration = registration; + this.averageGrade = averageGrade; + } + + public String getName() { + return name; + } + + public Long getRegistration() { + return registration; + } + + public double getAverageGrade() { + return averageGrade; + } + + public void setAverageGrade(double averageGrade) { + this.averageGrade = averageGrade; + } + + @Override + public String toString() { + return String.format("[Nome: %s | Matrícula: %d | Nota: %.2f ]", name, registration, averageGrade); + } + + // equals e hashcode: cada aluno tem uma matricula única + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!(obj instanceof Student student)) + return false; + return getRegistration() == student.getRegistration(); + } + + @Override + public int hashCode() { + return Objects.hash(getRegistration()); + } + + // Comparar studante por nome + @Override + public int compareTo(Student student) { + return name.compareToIgnoreCase(student.getName()); + } + + // Comparar por média + public static class ComparatorByAverage implements Comparator{ + @Override + public int compare(Student s1, Student s2) { + return Double.compare(s1.getAverageGrade(), s2.getAverageGrade()); + } + + } + + +} diff --git a/src/main/java/set/Ordenacao/StudentManagement.java b/src/main/java/set/Ordenacao/StudentManagement.java new file mode 100644 index 0000000..ef3f65e --- /dev/null +++ b/src/main/java/set/Ordenacao/StudentManagement.java @@ -0,0 +1,96 @@ +package main.java.set.Ordenacao; + +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; + +import main.java.set.Ordenacao.Student.ComparatorByAverage; + +public class StudentManagement { + + private Set studentsList; + + public StudentManagement() { + this.studentsList = new HashSet<>(); + } + + /*- `adicionarAluno(String nome, Long matricula, double media)`: Adiciona um aluno ao conjunto. +- `removerAluno(long matricula)`: Remove um aluno ao conjunto a partir da matricula, se estiver presente. +- `exibirAlunosPorNome()`: Exibe todos os alunos do conjunto em ordem alfabética pelo nome. +- `exibirAlunosPorNota()`: Exibe todos os alunos do conjunto em ordem crescente de nota. +- `exibirAlunos()`: Exibe todos os alunos do conjunto. */ + + public void addStudent(String name, Long Registration, double averageGrade) { + studentsList.add(new Student(name, Registration, averageGrade)); + } + + public void removeStudent(long registration) { + Student studentToRemove = null; + for (Student s : studentsList) { + if (s.getRegistration() == registration) { + studentToRemove = s; + break; + } + } + studentsList.remove(studentToRemove); + } + + public void showAllStudents() { + System.out.println("Lista de alunos: " + studentsList); + System.out.println("------------"); + } + + public Set showStudentsByName() { + Set studentName = new TreeSet<>(studentsList); + if (studentsList.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } else { + System.out.println("------------"); + return studentName; + + } + } + + public Set showStudentsByAverage() { + Set studentAverage = new TreeSet<>(new ComparatorByAverage()); + if (studentsList.isEmpty()) { + throw new IllegalStateException("A lista está vazia."); + } else { + studentAverage.addAll(studentsList); + System.out.println("------------"); + return studentAverage; + } + } + + + + public static void main(String[] args) { + StudentManagement student = new StudentManagement(); + + student.showAllStudents(); + + System.out.println("Adicionando Alunos...."); + student.addStudent("Maria", 1L, 8.00); + student.addStudent("João", 1L, 8.00); // teste para ver se repete + student.addStudent("Jonas", 8L, 7.00); + student.addStudent("Carla", 3L, 5.00); + student.addStudent("Carla", 4L, 6.00); + student.addStudent("Vanessa", 5L, 1.00); + student.addStudent("Jorge", 6L, 8.50); + student.addStudent("Vania", 7L, 8.70); + student.showAllStudents(); + + System.out.println("Removendo Alunos...."); + student.removeStudent(3); + student.removeStudent(5); + student.showAllStudents(); + + + System.out.println("Exibindo Alunos por nome...."); + System.out.println("Ordem alfabética: " + student.showStudentsByName()); + + + System.out.println("Exibindo Alunos por média...."); + System.out.println("Ordem por média: " + student.showStudentsByAverage()); + } +} diff --git a/src/main/java/set/Pesquisa/AgendaContatos.java b/src/main/java/set/Pesquisa/AgendaContatos.java deleted file mode 100644 index 23fc424..0000000 --- a/src/main/java/set/Pesquisa/AgendaContatos.java +++ /dev/null @@ -1,85 +0,0 @@ -package main.java.set.Pesquisa; - -import java.util.HashSet; -import java.util.Set; - -public class AgendaContatos { - //atributo - private Set contatosSet; - - public AgendaContatos() { - this.contatosSet = new HashSet<>(); - } - - public void adicionarContato(String nome, int numero) { - contatosSet.add(new Contato(nome, numero)); - } - - public void exibirContatos() { - if (!contatosSet.isEmpty()) { - System.out.println(contatosSet); - } else { - System.out.println("O conjunto está vazio!"); - } - } - - public Set pesquisarPorNome(String nome) { - Set contatosPorNome = new HashSet<>(); - if (!contatosSet.isEmpty()) { - for (Contato c : contatosSet) { - if (c.getNome().startsWith(nome)) { - contatosPorNome.add(c); - } - } - return contatosPorNome; - } else { - throw new RuntimeException("O conjunto está vazio!"); - } - } - - public Contato atualizarNumeroContato(String nome, int novoNumero) { - Contato contatoAtualizado = null; - if (!contatosSet.isEmpty()) { - for (Contato c : contatosSet) { - if (c.getNome().equalsIgnoreCase(nome)) { - c.setNumero(novoNumero); - contatoAtualizado = c; - break; - } - } - return contatoAtualizado; - } else { - throw new RuntimeException("O conjunto está vazio!"); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe AgendaContatos - AgendaContatos agendaContatos = new AgendaContatos(); - - // Exibindo os contatos no conjunto (deve estar vazio) - agendaContatos.exibirContatos(); - - // Adicionando contatos à agenda - agendaContatos.adicionarContato("João", 123456789); - agendaContatos.adicionarContato("Maria", 987654321); - agendaContatos.adicionarContato("Maria Fernandes", 55555555); - agendaContatos.adicionarContato("Ana", 88889999); - agendaContatos.adicionarContato("Fernando", 77778888); - agendaContatos.adicionarContato("Carolina", 55555555); - - // Exibindo os contatos na agenda - agendaContatos.exibirContatos(); - - // Pesquisando contatos pelo nome - System.out.println(agendaContatos.pesquisarPorNome("Maria")); - - // Atualizando o número de um contato - Contato contatoAtualizado = agendaContatos.atualizarNumeroContato("Carolina", 44443333); - System.out.println("Contato atualizado: " + contatoAtualizado); - - // Exibindo os contatos atualizados na agenda - System.out.println("Contatos na agenda após atualização:"); - agendaContatos.exibirContatos(); - } -} diff --git a/src/main/java/set/Pesquisa/CheckList.java b/src/main/java/set/Pesquisa/CheckList.java new file mode 100644 index 0000000..81bce4a --- /dev/null +++ b/src/main/java/set/Pesquisa/CheckList.java @@ -0,0 +1,149 @@ +package main.java.set.Pesquisa; + +import java.util.HashSet; +import java.util.Set; + +public class CheckList { + + private Set checkList; + + public CheckList() { + this.checkList = new HashSet<>(); + + } + + + public void addTask(String description) { + checkList.add(new Task(description, false)); + } + + public void removeTask(String description){ + Task taskToRemove = null; + if (checkList.isEmpty()){ + throw new RuntimeException("A lista está vazia."); + + }else{ + for (Task task : checkList){ + if(task.getDescription().equalsIgnoreCase(description)){ + taskToRemove = task; + break; + } + } + checkList.remove(taskToRemove); + } + } + + public void showTasks(){ + System.out.println("Listas de tarefas: " + checkList); + System.out.println("------------"); + } + + public int countTasks(){ + return checkList.size(); + } + + public void checkComplete(String description) { + if (checkList.isEmpty()) { + throw new RuntimeException("A lista está vazia."); + } else { + for (Task task : checkList) { + if (task.getDescription().equalsIgnoreCase(description)) { + task.setCompleted(true); + } + } + + } +} + + public void checkImcomplete(String description) { + if (checkList.isEmpty()) { + throw new RuntimeException("A lista está vazia."); + + } else { + for (Task task : checkList) { + if (task.getDescription().equalsIgnoreCase(description)) { + task.setCompleted(false); + } + } + + } + +} + + public Set completedTasks (){ + Set completedTasksList = new HashSet<>(); + if (!checkList.isEmpty()){ + for (Task taskC : checkList){ + if (taskC.isCompleted() == true) { + completedTasksList.add(taskC); + } + } + } + return completedTasksList; + + } + + + public Set imcompletedTasks (){ + Set imcompletedTasksList = new HashSet<>(); + if (!checkList.isEmpty()){ + for (Task taskI : checkList){ + if (taskI.isCompleted() == false) { + imcompletedTasksList.add(taskI); + } + } + } + return imcompletedTasksList; + + } + + public void removeAllTasks (){ + System.out.println("--------------"); + System.out.println("Removendo Tarefas..."); + checkList.clear(); + } + + + public static void main(String[] args) { + + CheckList taskList = new CheckList(); + + taskList.showTasks(); + System.out.println("Adicionando tarefas..."); + taskList.addTask("Varrer o chão"); + taskList.addTask("Lavar Louça"); + taskList.addTask("Limpar o quarto"); + taskList.addTask("Limpar o banheiro"); + + System.out.println("Número de tarefas: " + taskList.countTasks()); + taskList.showTasks(); + + System.out.println("Removendo tarefas..."); + taskList.removeTask("Limpar o banheiro"); + System.out.println("Número de tarefas: " + taskList.countTasks()); + taskList.showTasks(); + + System.out.println("Concluindo Tarefas..."); + taskList.checkComplete("Varrer o chão"); + taskList.checkComplete("Lavar Louça"); + System.out.println("Número de tarefas: " + taskList.countTasks()); + taskList.showTasks(); + + System.out.println("Tarefas Pendentes..."); + taskList.checkImcomplete("Varrer o chão"); + System.out.println("Número de tarefas: " + taskList.countTasks()); + taskList.showTasks(); + + System.out.println("Verificando Tarefas..."); + Set completed = taskList.completedTasks(); + System.out.println("Tarefas Completadas: " + completed); + Set imcompleted = taskList.imcompletedTasks(); + System.out.println("Tarefas Pendentes: " + imcompleted); + + + taskList.removeAllTasks(); + System.out.println("Número de tarefas: " + taskList.countTasks()); + taskList.showTasks(); + + } +} diff --git a/src/main/java/set/Pesquisa/Contact.java b/src/main/java/set/Pesquisa/Contact.java new file mode 100644 index 0000000..ceebaae --- /dev/null +++ b/src/main/java/set/Pesquisa/Contact.java @@ -0,0 +1,51 @@ +package main.java.set.Pesquisa; + +import java.util.Objects; + +public class Contact { + + // Cada contato possui atributos como nome e número de telefone. + + private String name; + private int phone; + + + // Construtor + public Contact(String name, int phone) { + this.name = name; + this.phone = phone; + } + + + + public String getName() { + return name; + } + public int getPhone() { + return phone; + } + public void setPhone(int phone) { + this.phone = phone; + } + + // para Não repetir contatos + @Override + public boolean equals(Object o){ + if (this == o) return true; + if (!(o instanceof Contact contact)) return false; + return Objects.equals(getName(), contact.getName()); + } + @Override + public int hashCode() { + return Objects.hash(getName()); + } + + @Override + public String toString() { + return String.format("[Nome: %s | Tel: %d ]", name, phone); + + } + + + +} diff --git a/src/main/java/set/Pesquisa/ContactList.java b/src/main/java/set/Pesquisa/ContactList.java new file mode 100644 index 0000000..84f4f7e --- /dev/null +++ b/src/main/java/set/Pesquisa/ContactList.java @@ -0,0 +1,88 @@ +package main.java.set.Pesquisa; + +import java.util.HashSet; +import java.util.Set; + + + +public class ContactList { + + private Set contactsSetList; + + public ContactList() { + this.contactsSetList = new HashSet<>(); + } + + public void addContact(String name, int phone){ + contactsSetList.add(new Contact(name, phone)); + } + + public void showContacts(){ + System.out.println("Lista de contatos: " + contactsSetList); + } + + public Set searchForName(String name){ + Set contactName = new HashSet<>(); + if (!contactsSetList.isEmpty()){ + for(Contact person : contactsSetList){ + if (person.getName().equalsIgnoreCase(name)){ + contactName.add(person); + } + } + } + + return contactName; + + } + + + + public Contact updateContact (String name, int phoneNew) { + Contact contactNew = null; + if(contactsSetList.isEmpty()){ + throw new RuntimeException("A lista está vazia."); + } + else { + for (Contact person : contactsSetList) { + if(person.getName().equals(name)){ + person.setPhone(phoneNew); + contactNew = person; + break; + } + } + return contactNew; + } + } + + public static void main(String[] args) { + + ContactList contact = new ContactList(); + + contact.showContacts(); + System.out.println("Adicionado contatos..."); + contact.addContact("Carla Santos", 99999999); + contact.addContact("João Silva", 99999997); + contact.addContact("Leon Kennedy", 98999997); + contact.addContact("Maria Lourdes", 98999897); + contact.addContact("Maria Souza", 98898896); + contact.addContact("Maria Souza", 98895896); // repetido pra testar + contact.showContacts(); + System.out.println("-----------"); + + System.out.println("Procurando contatos..."); + Set contactName = contact.searchForName("Maria Lourdes"); + System.out.println(contactName); + System.out.println("-----------"); + + // Atualizando Contato + Contact contactNew = contact.updateContact("Maria Lourdes", 999989999); + System.out.println("Contato Atualizado: " + contactNew); + + + } + + } + + + + diff --git a/src/main/java/set/Pesquisa/Contato.java b/src/main/java/set/Pesquisa/Contato.java deleted file mode 100644 index 68b86ce..0000000 --- a/src/main/java/set/Pesquisa/Contato.java +++ /dev/null @@ -1,43 +0,0 @@ -package main.java.set.Pesquisa; - -import java.util.Objects; - -public class Contato { - //atributos - private String nome; - private int numero; - - public Contato(String nome, int numero) { - this.nome = nome; - this.numero = numero; - } - - public String getNome() { - return nome; - } - - public int getNumero() { - return numero; - } - - public void setNumero(int numero) { - this.numero = numero; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof Contato contato)) return false; - return Objects.equals(getNome(), contato.getNome()); - } - - @Override - public int hashCode() { - return Objects.hash(getNome()); - } - - @Override - public String toString() { - return "{" + nome + "," + numero + "}"; - } -} diff --git a/src/main/java/set/Pesquisa/ListaTarefas.java b/src/main/java/set/Pesquisa/ListaTarefas.java deleted file mode 100644 index 9b436a7..0000000 --- a/src/main/java/set/Pesquisa/ListaTarefas.java +++ /dev/null @@ -1,142 +0,0 @@ -package main.java.set.Pesquisa; - -import java.util.HashSet; -import java.util.Set; - -public class ListaTarefas { - //atributos - private Set tarefasSet; - - public ListaTarefas() { - this.tarefasSet = new HashSet<>(); - } - - public void adicionarTarefa(String descricao) { - tarefasSet.add(new Tarefa(descricao)); - } - - public void removerTarefa(String descricao) { - Tarefa tarefaParaRemover = null; - if (!tarefasSet.isEmpty()) { - for (Tarefa t : tarefasSet) { - if (t.getDescricao().equalsIgnoreCase(descricao)) { - tarefaParaRemover = t; - break; - } - } - tarefasSet.remove(tarefaParaRemover); - } else { - System.out.println("O conjunto está vazio"); - } - - if(tarefaParaRemover == null) { - System.out.println("Tarefa não encontrada!"); - } - } - - public void exibirTarefas() { - if(!tarefasSet.isEmpty()) { - System.out.println(tarefasSet); - } else { - System.out.println("Tarefa não encontrada!"); - } - } - - public int contarTarefas() { - return tarefasSet.size(); - } - - public Set obterTarefasConcluidas() { - Set tarefasConcluidas = new HashSet<>(); - for (Tarefa t : tarefasSet) { - if (t.isConcluida()) { - tarefasConcluidas.add(t); - } - } - return tarefasConcluidas; - } - - public Set obterTarefasPendentes() { - Set tarefasNaoConcluidas = new HashSet<>(); - for (Tarefa t : tarefasSet) { - if (!t.isConcluida()) { - tarefasNaoConcluidas.add(t); - } - } - return tarefasNaoConcluidas; - } - - public void marcarTarefaConcluida(String descricao) { - for (Tarefa t : tarefasSet) { - if (t.getDescricao().equalsIgnoreCase(descricao)) { - t.setConcluida(true); - } - } - } - - public void marcarTarefaPendente(String descricao) { - Tarefa tarefaParaMarcarComoPendente = null; - for (Tarefa t : tarefasSet) { - if (t.getDescricao().equalsIgnoreCase(descricao)) { - tarefaParaMarcarComoPendente = t; - break; - } - } - - if (tarefaParaMarcarComoPendente != null) { - if(tarefaParaMarcarComoPendente.isConcluida()) { - tarefaParaMarcarComoPendente.setConcluida(false); - } - } else { - System.out.println("Tarefa não encontrada na lista."); - } - } - - public void limparListaTarefas() { - if(tarefasSet.isEmpty()) { - System.out.println("A lista já está vazia!"); - } else { - tarefasSet.clear(); - } - } - - public static void main(String[] args) { - // Criando uma instância da classe ListaTarefas - ListaTarefas listaTarefas = new ListaTarefas(); - - // Adicionando tarefas à lista - listaTarefas.adicionarTarefa("Estudar Java"); - listaTarefas.adicionarTarefa("Fazer exercícios físicos"); - listaTarefas.adicionarTarefa("Organizar a mesa de trabalho"); - listaTarefas.adicionarTarefa("Ler livro"); - listaTarefas.adicionarTarefa("Preparar apresentação"); - - // Exibindo as tarefas na lista - listaTarefas.exibirTarefas(); - - // Removendo uma tarefa - listaTarefas.removerTarefa("Fazer exercícios físicos"); - listaTarefas.exibirTarefas(); - - // Contando o número de tarefas na lista - System.out.println("Total de tarefas na lista: " + listaTarefas.contarTarefas()); - - // Obtendo tarefas pendentes - System.out.println(listaTarefas.obterTarefasPendentes()); - - // Marcando tarefas como concluídas - listaTarefas.marcarTarefaConcluida("Ler livro"); - listaTarefas.marcarTarefaConcluida("Estudar Java"); - - // Obtendo tarefas concluídas - System.out.println(listaTarefas.obterTarefasConcluidas()); - - // Marcando tarefas como pendentes - listaTarefas.marcarTarefaPendente("Estudar Java"); - listaTarefas.exibirTarefas(); - - // Limpando a lista de tarefas - listaTarefas.limparListaTarefas(); - listaTarefas.exibirTarefas(); - } -} diff --git a/src/main/java/set/Pesquisa/Tarefa.java b/src/main/java/set/Pesquisa/Tarefa.java deleted file mode 100644 index 82f3e40..0000000 --- a/src/main/java/set/Pesquisa/Tarefa.java +++ /dev/null @@ -1,36 +0,0 @@ -package main.java.set.Pesquisa; - -public class Tarefa { - //atributos - private String descricao; - private boolean concluida; - - public Tarefa(String descricao) { - this.descricao = descricao; - this.concluida = false; - } - - public String getDescricao() { - return descricao; - } - - public boolean isConcluida() { - return concluida; - } - - public void setDescricao(String descricao) { - this.descricao = descricao; - } - - public void setConcluida(boolean concluida) { - this.concluida = concluida; - } - - @Override - public String toString() { - return "Tarefa{" + - "descricao='" + descricao + '\'' + - ", concluida=" + concluida + - '}'; - } -} diff --git a/src/main/java/set/Pesquisa/Task.java b/src/main/java/set/Pesquisa/Task.java new file mode 100644 index 0000000..7e6c4ed --- /dev/null +++ b/src/main/java/set/Pesquisa/Task.java @@ -0,0 +1,36 @@ +package main.java.set.Pesquisa; + +public class Task { + + private String description; + private boolean completed; + + // Construtor + public Task(String description, boolean completed) { + this.description = description; + this.completed = completed; + } + + public String getDescription() { + return description; + } + + public boolean isCompleted() { + return completed; + } + + public void setCompleted(boolean completed) { + this.completed = completed; + } + + @Override + public String toString() { + return String.format("[Descrição: %s | Completado: %s]", description, completed); + } + + + + + + +}