Por favor! preciso de uma ajuda para resolver esse problema!

8 respostas
programaçãojava
L

Não estou conseguindo resolver esse problema, me abram os olhos pls

Um mercadinho possui nome, proprietário e um estoque bem variado de 1000 (mil)

produtos, classificados em: alimentação, limpeza e bebida.

Cada produto possui código, descrição, data de fabricação, data de validade e valor. Alimentos

possuem uma classificação [natural, artificial], limpeza deve registrar se é nocivo ou não e

bebida deve registrar a graduação alcoólica. O código jamais poderá ser alterado e deverá ser

único, ou seja, não pode repetir.

Sobre o proprietário deve ser registrado seu nome, data de nascimento e sexo [masculino ou

feminino].

Seguindo os conceitos da POO, escreva um programa, em Java, para cadastrar os produtos

desse mercadinho.

O sistema deverá permitir:

Cadastrar (incluir, consultar, alterar e remover) mercadorias; Obter a quantidade de produtos

cadastrados; Valor das mercadorias cadastradas no estoque; Produto mais antigo no estoque;

Obter produtos vencidos que estão no estoque (considere a data atual).

8 Respostas

T

O que você quer dizer com “passo a passo”? Você só postou o enunciado, espera que alguém te explique o que fazer linha por linha? É uma aplicação relativamente extensa, não está pedindo um pouco demais, querendo um passo a passo?

Você sabe criar uma aplicação básica? Sabe criar uma tela? Vai usar banco de dados? Sabe criar uma conexão com um? Sabe um pouco de SQL? Criação de tabelas? Chaves primárias?

Abraço.

L

Isso é um tarefa escolar, o básico eu sei de SQL, java e tals… mas realmente preciso de ajuda para resolver esse problema, n quero um passo a passo extenso com explicações de linha por linha, quero apenas um enredo curto de como resolver a questão…
OBS: o professor n explicou praticamente nd sobre esse trabalho, a turma td esá com dúvidas…

T

Será preciso usar um banco de dados, ou esse sistema pode simular o funcionamento, usando somente classes Java? Sem precisar usar SQL, a complexidade se torna um pouco menor, mas a abordagem precisa ser diferente.

Abraço.

L

Obrigado pela ajuda! Porém ainda estou com algumas duvidas, conhece algum video que possa me ajudar nesse trabalho?

T

Você não respondeu minha pergunta: nessa atividade, é obrigatório usar algum banco de dados (ex: MySQL, PostgreSQL), ou tudo pode ser feito somente com classes Java?

Mas ok, vamos lá. Supondo que isso será uma aplicação desktop com Swing e usando um banco de dados, eis algumas coisas que você vai precisar no geral:

  • saber como criar telas: você pode ver tutoriais de Swing, usando o Netbeans ou criando tudo via código/na mão;
  • criar bancos de dados em um SGBDR, como SQLite, MySQL ou PostgreSQL;
  • criar tabelas (via SQL ou em uma ferramenta como MySQL Workbench);
  • como estruturar um banco de dados (tipos de dados adequados para cada campo, chaves primárias e estrangeiras);
  • conectar em bases de dados no Java via JDBC;
  • fazer consultas no Java via PreparedStatements, percorrer e usar os resultados dessas consultas;
  • operações de CRUD (inserção, alteração, consulta e remoção via SQL no Java);
  • como funcionam coisas como sum, max, min, group by e order by no Java/SQL;
  • criar classes para representar entidades do banco (ex: um registro na tabela produtos do banco pode corresponder a uma instância de uma classe chamada Produto dentro do Java);
  • trabalhar com TableModels no Java (e já recomendando que você evite o DefaultTableModel);

Você pode estudar essas coisas individualmente e, quando for criar a aplicação, juntar esse conhecimento. Algumas coisas poderiam em teoria ajudar em algumas dessas etapas (ex: tentar usar um padrão como DAO para as consultas e alterações de dados no banco), mas não são estritamente necessárias.

Com isso em mente, você precisará, a partir do enunciado, determinar quais classes seriam necessárias para criar esse sistema, e que informações seriam necessárias em cada uma dessas classes. Todas essa informações estão no enunciado, então leia-o atentamente. Por exemplo:

Lendo isso, fica óbvio que você precisa de uma classe para representar uma mercadoria/produto. Consequentemente, ter uma tabela para armazenar esse produto. A questão é: quais atributos/campos seriam necessários nessa classe, e na tabela associada? É só continuar lendo:

O enunciado está dizendo explicitamente que essas informações são necessárias. Portanto, podemos concluir que você precisará desses atributos em sua classe produto, e dos respectivos campos para armazenar esses dados. Mas você ainda precisa determinar o tipo de cada campo. Vamos ver o que dá pra concluir nessa parte:

  • código: o código precisa ser único e não pode ser alterado. O ideal seria então que ele fosse gerado automaticamente, em vez de digitado pelo usuário (que dificilmente lembrará quais códigos já usou). Geralmente para isso, se usa uma um tipo gerado automaticamente no banco de dados. Dê uma olhada em como funciona o auto_increment no MySQL;
  • descrição: a descrição de um produto pode conter letras, então faz sentido que seja armazenada de forma que permita isso. No Java, um tipo adequado poderia ser String, enquanto que num banco de dados, o tipo varchar deve ser suficiente;
  • data de fabricação e data de validade: datas podem ser armazenadas como texto, mas isso pode complicar um pouco a sua vida em comparações. Por isso, pode ser mais coerente usar um tipo de data, como o Date do java e o tipo Date num banco de dados;
  • valor: valores geralmente não contém letras, apenas dígitos e vírgulas/pontos decimais. Para armazenar valor de forma simples, é coerente usar um tipo como float no Java (que é suficiente para um exercício) e float, decimal ou numeric no banco de dados;

Note que esses não são todos os atributos necessários. Mais a frente, no enunciado, outros surgem, como categoria (bebida, alimento ou limpeza) e classificação (natural, artifical), dentre outros. Você precisa decidir se prefere armazená-los como texto (a palavra “Bebida”) ou como um identificador (ex: número 1 para indicar que é alimento, 2 para bebida e 3 para limpeza). Se fizer isso, precisará fazer uma conversão quando for exibir isso para o usuário.

Na sequência, você precisará de um meio para armazenar o estoque. Faça análises similares, determinando o que é preciso ou não armazenar.

Com tudo isso em mão, você poderá construir as classes que o sistema precisa, as tabelas necessárias no banco de dados que escolher, e depois as telas para interagir com esses dados.

Acho que deu pra você ter uma ideia do que fazer.

Pois pergunte pra ele os conceitos que tiver dúvida. Não peça respostas pra ele, mas explique o que tentou e se sua abordagem é coerente. Não fique esperando chegar o último dia, nem fique reclamando que ele não explicou tudo que poderia. Você é estudante. Se virar pra conseguir fazer as coisas faz parte.

Não sei recomendar nada específico. Tem tanta coisa na internet, faz uma busca aí por algo como Java Swing com banco de dados, e dê uma olhada nos resultados. Aqui mesmo no fórum deve ter alguma coisa, basta arregaçar as mangas e procurar.

Abraço.

L

vlw mein ^^ tmj

L

Olha amigo, consegui fazer as tabelas no MySQL e as telas de cadastro correspondente para cada tabela, porém não faço ideia de como uni-las, de java para o sql, usa alguma linha de comando? ou algo do tipo?

J

Se for pra fazer conexão, e criar transações utilize a biblioteca JDBC do Mysql, se for utilizar o JDBC pesquise no youtube tem muitas referencias lá

Criado 30 de junho de 2019
Ultima resposta 3 de jul. de 2019
Respostas 8
Participantes 3