Alguém me ajuda a refatorar esse código para que eu possa utilizar com o bando de dados MySql?

1 resposta
java
B

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

	Scanner scanner = new Scanner(System.in);
	Estoque estoque = new Estoque();
	while (true) {
	    System.out.print("Digite a opção de acordo com o que deseja fazer!\n"
	        + "1 --> Cadastrar fruta\n"
	        + "2 --> Consultar frutas cadastradas\n"
	        + "3 --> Encerrar\n");
	    int opcao = lerNumero(scanner); 
	    if (opcao == 3) {
	        System.out.println("Encerrando...\n");
	        break; 
	    } else if (opcao == 1) {
	        System.out.println("Informe o nome da fruta:");
	        String nomeFruta = scanner.nextLine().toUpperCase();
	        System.out.println("Informe a quantidade de frutas deste tipo:");
	        int qtdFruta = lerNumero(scanner); 
	        estoque.adicionar(new Fruta(nomeFruta), qtdFruta);
	        System.out.println("\n");
	    } else if (opcao == 2) {
	        estoque.listar();
	    } else {
	        System.out.println("Opção Inválida!\n");
	    }
	}
} 
		    static int lerNumero(Scanner scanner) {
		        while (true) {
		            try {
		                return Integer.parseInt(scanner.nextLine());
		            } catch (NumberFormatException e) {
		                System.out.println("Você não digitou um número");
		            }
		        }
		    }
		
		        }
import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

public class Estoque {
private Map<Fruta, Integer> frutas = new HashMap<>();

public void adicionar(Fruta fruta, int quantidade) {
    // obtém a quantidade atual da fruta, ou zero se ainda não estiver no estoque
    int qtdAtual = this.frutas.getOrDefault(fruta, 0);
    // atualiza a quantidade
    this.frutas.put(fruta, quantidade + qtdAtual);
}

public void listar() { // mostrar as frutas e respectivas quantidades
    System.out.println("Frutas:");
    for (Entry<Fruta, Integer> entry : this.frutas.entrySet()) {
        System.out.printf(" - %s  |  %d\n", entry.getKey().getNome(), entry.getValue());
    }
}
}

import java.util.ArrayList;

import java.util.Objects;
public class Fruta {

private String nome;

public Fruta(String nome) {

this.nome = nome;

}

public String getNome() {

return nome;

}
@Override
public int hashCode() {
    return Objects.hash(this.nome);
}
@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (!(obj instanceof Fruta))
        return false;
    Fruta other = (Fruta) obj;
    return this.nome.equals(other.nome);
}

}

1 Resposta

javaflex

Não espere que vá ter consultoria gratuita. Tente fazer e seja mais pontual na dúvida. Se nao sabe sobre o assunto, antes de qualquer coisa faz algum curso ou siga um tutorial. Exemplo:

Se pesquisar no Google/Youtube tem muito mais. Escolha o que agradar mais.

Criado 10 de abril de 2021
Ultima resposta 10 de abr. de 2021
Respostas 1
Participantes 2