Olá Pessoal sou novo no fórum e também um iniciante em Java.
Estou tentando implementar o problema (algoritmo abaixo em java) mas ta complicado. Estou fazendo Tecnologia em Redes de Computadores e o professor ta passando em 6 meses coisas que ele mesmo disse que deveriam ser passados em 2 anos e meio.
Faça um programa que seja capaz de armazenar em um vetor de 20 posições objetos do tipo Produto(código, descrição, preço, quantidade). O programa deve ser capaz de armazenar todos os objetos no vetor. Ainda o mesmo deve implementar as seguintes operações:
a. Ser capaz de localizar os produtos no vetor, através do seu código;
b. Ser capaz de apresentar as informações deste produto;
c. Implementar um método de recebe um valor em porcentagem e o mesmo aumente o preço dos produtos
Acho que estou no lugar certo pra fazer esse bixinho rodar, se alguém puder me ajudar a implementar e colocar alguns comentários para que eu possa ir entendendo eu agradeceria muito.
Vc tem que definir uma classe ‘produto’ com os atributos que vc deseja. Sabe fazer isso? Se sim poste o código como vc faria.
pense direitinho no construtor dessa classe.
a. Ser capaz de localizar os produtos no vetor, através do seu código;
Sabe lidar com vetores ? uma vez que vc populou este vetor com os seus produtos, pode procurar implementando um laço for, percorrendo o vetor e comparando elemento a elemento o codigo que vc quer. Quando encontrar vc imprime.
b. Ser capaz de apresentar as informações deste produto;
puxa, se vc definir um metodo toString() na classe produto e mandar ela imprimir as informações usando System.out.println(“cfhgldfghsdgk”); sera bem mais facil…
c. Implementar um método de recebe um valor em porcentagem e o mesmo aumente o preço dos produtos
metodo aonde? mudar aonde? mudar em um produto ou em todo o array?
Pow galera desde já valeu pelos toques que estão me dando, to me virando, peguei o livro java como programar edição 4 pra ver se me ajuda. já prendi vetor sim, mas classe objeto ainda não. Eu implementei um mas como lista estática de uma aluno onde os declarava os atributos tipo nome, sexo, idade… Vou continuar tentando. se aguém puder me dar mais alguma luz eu agradeço. Eu tenho que entender bem isso, pois vai ter prova prática, sou muito novo na programação apenas 3 meses, mas to engatinhando ainda, um dia chego lá, com ajuda de vocês é claro.
Meus amigos, apesar de pouca ajuda to fazendo, e me virando pois programação não entra na cabeça de uma hora para outra!
Abaixo vai o código:
import java.io.*;
public class Produto implements Serializable{
private static final long serialVersionUID = 1L;
private int codigo;
private String descricao;
private float preco;
private int quant;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public float getPreco() {
return preco;
}
public void setPreco(float preco) {
this.preco = preco;
}
public int getQuant() {
return quant;
}
public void setQuant(int quant) {
this.quant = quant;
}
}
import javax.swing.JOptionPane;
public class Lista_Produtos {
private static int MAXL=3;
private Produto item[]=new Produto[MAXL];
private int prim,ult;
public Lista_Produtos(){
prim=0;
ult=0;
}
public boolean isEmpty(){
if (prim==ult){
return true;
}else{
return false;
}
}
public boolean isFull(){
if(ult==MAXL){
return true;
}else{
return false;
}
}
public int search_P(int chave){
int i=prim;
while((i<ult-1)&&(!(chave==(item[i].getCodigo())))){
i++;
}
if((ult>0)&&(chave==(item[i].getCodigo()))){
return i;
}else{
return -1;
}
}
public void insert(Produto x, int p){
if(isFull()){
JOptionPane.showMessageDialog(null,"Lista Cheia!!!!");
}else{
if(p==ult){
item[ult]=x;
ult++;
}else{
for(int p1=ult-1;p1>=p;p1--){
item[p1+1]=item[p1];
}
item[ult]=x;
ult++;
}
}
}
public void alt(float x){
for(int i=prim;i<ult;i++){
item[i].preco=(item[i].getPreco()+(item[i].getPreco()*(x/100)));
}
}
public Produto elementAt(int p){
return item[p];
}
public int size(){
return ult-1;
}
public int getUlt(){
return ult;
}
public void setUlt(int ult){
this.ult=ult;
}
}
import javax.swing.JOptionPane;
public class Principal {
static Lista_Produtos lista;
static boolean sair;
public static Produto lerdados(){
Produto objProduto=new Produto();
objProduto.setCodigo(Integer.parseInt(JOptionPane.showInputDialog(“Csdigo :”)));
objProduto.setDescricao(JOptionPane.showInputDialog(“Descrigco :”));
objProduto.setPreco(Float.parseFloat(JOptionPane.showInputDialog(“Prego :”)));
objProduto.setQuant(Integer.parseInt(JOptionPane.showInputDialog(“Quantidade :”)));
return objProduto;
}
public static void mostraProduto(int pos){
Produto objProduto=lista.elementAt(pos);
JOptionPane.showMessageDialog(null,
"Csdigo: "+objProduto.getCodigo()+"\n" +
"Descrigco :"+objProduto.getDescricao() +"\n"+
"Prego :"+objProduto.getPreco()+"\n"+
"Quantidade :"+objProduto.getQuant());
}
public static void inclusao(){
Produto obj=lerdados();
int posicao=lista.getUlt();
lista.insert(obj,posicao);
}
public static void alteracao(){
float juro=Float.parseFloat(JOptionPane.showInputDialog("Digite a taxa da alteragco, em %"));
lista.alt(juro);
}
public static int pesquisar(){
int codigo=Integer.parseInt(JOptionPane.showInputDialog("Digite O CSDIGO"));
int posicao=lista.search_P(codigo);
if (posicao!=-1){
mostraProduto(posicao);
}else{
JOptionPane.showMessageDialog(null, "Csdigo NCO localizado");
}
return posicao;
}
public static void sair(){
if (JOptionPane.showConfirmDialog(null, "DESEJA REALMENTE SAIR????")==0){
sair=true;
}
}
public static void menuPrincipal(){
int opcao=0;
try{
opcao=Integer.parseInt(JOptionPane.showInputDialog(null,
"DIGITE UMA OPGCO \n"+
"1 - INCLUSCO \n"+
"2 - PESQUISAR \n"+
"3 - ALTERAR PREGO \n"+
"4 - SAIR"));
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "OPGCO INVALIDA!!!!!");
}
switch (opcao){
case 1:
inclusao();
break;
case 2:
pesquisar();
break;
case 3:
alteracao();
break;
case 4:
sair();
break;
default:
JOptionPane.showMessageDialog(null, "MANI!!!! \n"+"PRESTA ATENGCO");
}
}
public static void main(String[] args){
lista=new Lista_Produtos();
while(!sair){
menuPrincipal();
}
System.exit(0);
}
}
É isso meus amigos, gostaria que me ajudassem a melhorar isso, alguém tem alguma idéia pra melhorar dar um novo look??
Por favor me postem a explicação dos mudanças para que eu também possa entender.