Ir ao conteúdo
  • Cadastre-se

Java Exercício de repetição em Java


Posts recomendados

Fala pessoal !

Estou tendo um problema com uma atividade em java, preciso criar um programa de estoque usando comandos de repetição. O problema é que quanto eu realizo a retirada ou acrescento alguma quantidade de um produtos, as quantidades não se atualizam.

Desde já, obrigado !

package exerprodutos;

import java.util.Scanner;

public class ExerProdutos {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        
        int i = 0;
        produto objeto[] = new produto[3];
        int buscacod, aux;
        boolean encontrou = false;
        String busca;
        
        int option;
        
        do
        {
            System.out.println("\n*****Menu de Opções*****\n");
            System.out.println("1- Cadastrar");
            System.out.println("2- Visualizar produtos por tipo");
            System.out.println("3- Retirada de produto");
            System.out.println("4- Acrescimo de mercadoria");
            System.out.println("5- Sair\n");
            System.out.print("Escolha uma das opções: ");
            option = input.nextInt();
            
            while(option < 1 || option > 5)
            {
                System.out.println("! ** Opção Inválida ** !");
                System.out.print("Insira um opção válida: ");
                option = input.nextInt();
            }
            
            if(option == 1)
            {
                objeto[i] = new produto();
                
                System.out.println("! Cadastrar Produto !\n");
                System.out.print("Insira um código para produto: ");
                objeto[i].cod = input.nextInt();
                System.out.print("Faça a descrição produto: ");
                objeto[i].descricao = input.next();
                System.out.print("Escolha o tipo de produto: ");
                objeto[i].tipo = input.next();
                System.out.print("Digite o preço: ");
                objeto[i].preco = input.nextDouble();
                System.out.print("Insira a quantidade em estoque: ");
                objeto[i].qtd = input.nextInt();
                i++;
            }
            if(option == 2)
            {
                System.out.print("Insira o tipo do produto: ");
                busca = input.next();
                
                for(i = 0;i < 3; i++)
                {
                    if(busca.equalsIgnoreCase(objeto[i].tipo))
                    {
                        encontrou = true;
                        System.out.println("\nCódigo:"+objeto[i].cod);
                        System.out.println("Descrição:"+objeto[i].descricao);
                        System.out.println("Tipo:"+objeto[i].tipo);
                        System.out.println("Preço unitário:"+objeto[i].preco);
                        System.out.println("Quantidade em estoque:"+objeto[i].cod);
                    }
                }
                if(encontrou == false)
                    {
                        System.out.println("! ** Produto não encontrado ** !");
                    }
            }
            if(option == 3)
            {
                System.out.print("Insira o codigo do produto: ");
                buscacod = input.nextInt();
                
                for(i = 0; i < 3; i++)
                {
                    if(buscacod == objeto[i].cod)
                    {
                        encontrou = true;
                        System.out.println("! Produto Selecionado com sucesso !");
                        System.out.print("Digite a quantidade a ser retirada: ");
                        int ret = input.nextInt();
                        
                        while(objeto[i].qtd < ret)
                        {
                            System.out.println("! ** Quantidade no estoque insuficiente ** !");
                            System.out.print("Insira outra quantidade a ser retirada: ");
                            ret = input.nextInt();
                        }
                        
                        objeto[i].qtd = objeto[i].qtd - ret;
                        
                        System.out.println("! Estoque atualizado com sucesso !");
                        System.out.println("Nova quantidade: "+objeto[i].qtd);
                    }
                }
                if(encontrou == false)
                    {
                        System.out.print("! ** Produto não encontrado ** !");
                    }
            }
            if(option == 4)
            {
                System.out.print("Insira o codigo do produto: ");
                buscacod = input.nextInt();
                
                for(i = 0; i < 3; i++)
                {
                    if(buscacod == objeto[i].cod)
                    {
                        encontrou = true;
                        System.out.println("Quantidade atual: "+objeto[i].qtd);
                        System.out.println("! Produto Selecionado com sucesso !");
                        System.out.print("Digite a quantidade a ser acrescentada: ");
                        int adc = input.nextInt();
                        
                        objeto[i].qtd = objeto[i].qtd + adc;

                    }
                }
                if(encontrou == false)
                    {
                        System.out.print("! ** Produto não encontrado ** !");
                    }
            }
        }while(option != 5);
    }
}

 

Link para o comentário
Compartilhar em outros sites

"produto objeto[] = new produto[3];"

o certo seria produto[] objeto = new produto[3]();?

mas isso também não funcionou. Objeto você deu como nome no primeiro comando e não como tipo, só que mais pra frente no código você usa o objeto como um tipo: objeto[i]. Meio confuso... confesso que não entendi.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...