I've tried a lot of things and it's just this option case 4
which is to show the book with the most amount of pages that is missing.
If you have someone to help me with this option, I thank you for making it difficult.
package projeto;
import java.util.ArrayList;
import java.util.Scanner;
public class Sistema {
public static void main(String[] args) {
Scanner ler = new Scanner(System.in);
ArrayList<Cadastro> vetor = new ArrayList<Cadastro>();
int codigoDoLivro,paginas,qntdEmEstoque, opcao;
String titulo,autor,categoria;
double valorDoLivro;
Cadastro cadastro;
do {
System.out.println("Segue lista de opções");
System.out.println("1 - Cadastrar Livro\n" + "2 - Editar Dados Pelo Código\n" + "3 - Listar Livros por Categoria\n" + "4 - Livro com Maior Quantidade de Páginas\n" + "5 - Valor total dos Livros em Estoque\n" + "6 - Média do Valor de todos os Livros\n" + "7 - Sair");
opcao = ler.nextInt();
switch(opcao){
case 1:
System.out.println("Entre com o Código do Livro");
codigoDoLivro = ler.nextInt();
System.out.println("Entre com a Quantidade de Páginas");
paginas = ler.nextInt();
System.out.println("Entre com a Quantidade em Estoque");
qntdEmEstoque = ler.nextInt();
System.out.println("Entre com o Nome do Livro");
titulo = ler.next();
System.out.println("Entre com o Nome do Autor do Livro");
autor = ler.next();
System.out.println("Entre com a Categoria do Livro (Ex: Administração, direito, ficção)");
categoria = ler.next();
System.out.println("Entre com o Valor deste Livro");
valorDoLivro = ler.nextDouble();
vetor.add(new Cadastro(codigoDoLivro, paginas, qntdEmEstoque, titulo, autor, categoria, valorDoLivro));
break;
case 2:
System.out.println("Entre com o Código do Livro");
codigoDoLivro = ler.nextInt();
for (int i = 0; i < vetor.size(); i++) {
Cadastro aux = vetor.get(i);
if(codigoDoLivro == aux.getCodigoDoLivro()) {
System.out.println("Entre com a Quantidade de Páginas");
aux.setPaginas(ler.nextInt());
System.out.println("Entre com a Quantidade em Estoque");
aux.setQntdEmEstoque(ler.nextInt());
System.out.println("Entre com o Nome do Livro");
aux.setTitulo(ler.next());
System.out.println("Entre com o Nome do Autor do Livro");
aux.setAutor(ler.next());
System.out.println("Entre com a Categoria do Livro");
aux.setCategoria(ler.next());
System.out.println("Entre com o Valor do Livro");
aux.setValorDoLivro(ler.nextDouble());
} else {
System.out.println("Nenhum Registro Encontrado\n");
}
aux.print();
}
break;
case 3:
System.out.println("Entre com a Categoria");
categoria = ler.next();
for(int i2 = 0; i2 < vetor.size(); i2++) {
Cadastro aux3 = vetor.get(i2);
if(categoria.equals(aux3.getCategoria())) {
aux3.print();
} else {
System.out.println("Nenhum Registro Encontrado\n");
}
}
break;
case 4:
Cadastro teste = vetor.get(0);
for(int i3 = 0; i3 < vetor.size(); i3++) {
Cadastro aux2 = vetor.get(i3);
if(aux2.getPaginas() > teste.getPaginas()) {
System.out.println("O Livro é: " + aux2.getTitulo());
} else {
System.out.println("Nenhum Registro Encontrado");
}
}
break;
case 5:
int soma = 0;
for (int i=0; i < vetor.size(); i++) {
Cadastro aux4 = vetor.get(i);
soma += aux4.getQntdEmEstoque();
}
if (soma != 0){
System.out.println("O número de livros em estoque é: " + soma);
} else {
System.out.println("Nenhum Registro Encontrado");
}
break;
case 6:
double media = 0;
int soma2 = 0;
for (int i=0; i < vetor.size(); i++) {
Cadastro aux4 = vetor.get(i);
soma2 += aux4.getValorDoLivro();
media = soma2/vetor.size();
}
if (media > 0){
System.out.println("A média dos valores dos livros: " + media);
} else {
System.out.println("Nenhum Registro Encontrado");
}
break;
}
} while (opcao != 7);
}
}