Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal, meu código a seguir não consegue executar  a opção 2 "MOSTRAR PRODUTO POR CÓDIGO" no método main. Ele não mostra o produto a partir do código do cliente. Porém, se eu criar a variável "codigoCliente" na classe Produto, e adicionar ela no ArrayList de repositorioPordutos, ele executa normalmente. Não faz sentido o Produto ter o "codigoCliente" isso tem que estar explicito na classe Cliente. Gostaria de saber porque ele não está executando na maneira que fiz abaixo. Grato se alguém puder ajudar!

 

 

CLASSE CLIENTE 

import java.util.ArrayList;
import java.util.List;

public class Cliente {
	private int nome;
	private int idade;
	private int codigoCliente;
	
	public List<Cliente> codigoClientes = new ArrayList<>();
	public int getNome() {
		return nome;
	}
	public void setNome(int nome) {
		this.nome = nome;
	}
	public int getIdade() {
		return idade;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
	public int getCodigoCliente() {
		return codigoCliente;
	}
	public void setCodigoCliente(int codigoCliente) {
		this.codigoCliente = codigoCliente;
	}
	

}

CLASSE PRODUTO

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Produto {

	Scanner entrada = new Scanner(System.in);
	List<Produto> repositorioProduto = new ArrayList();
	Cliente cliente = new Cliente();
	private String nome;
	private double preco;

	public void compra() {
		Produto produtos = new Produto();
		Cliente cliente = new Cliente();
		
		System.out.println("NOME DO PRODUTO: ");
		produtos.nome = entrada.next();

		System.out.println("PREÇO: ");
		produtos.preco = entrada.nextDouble();
		

		System.out.println("CÓDIGO DO CLIENTE: ");
		cliente.setCodigoCliente(entrada.nextInt());
		
		repositorioProduto.add(produtos);
		cliente.codigoClientes.add(cliente);
	}
	
	public void mostrarPorCodigo() {
		int codigo;
		boolean achou = false;
		System.out.println("INFORME O CÓDIGO DO CLIENTE: ");
		codigo = entrada.nextInt();
			for (int i = 0; i < cliente.codigoClientes.size(); i++) {
				if (codigo == cliente.codigoClientes.get(i).getCodigoCliente()) {
					System.out.println("ESSE USUÁRIO COMPROU: "+ repositorioProduto.get(i).nome);
					achou = true;

				}
			}
			if(!achou) {
				System.out.println("---------------------");
				System.out.println("CÓDIGO NÃO ENCONTRADO");
				System.out.println("---------------------");
			}
		}
	}

CLASSE MAIN 

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner entrada = new Scanner(System.in);
		Produto produto = new Produto();
		int opcao;
		int resp;
		do {
		System.out.println("1 - CADASTRAR");
		System.out.println("2 - MOSTRAR PRODUTO POR CÓDIGO");
		opcao = entrada.nextInt();
		
		switch(opcao) {
		case 1:
			produto.compra();
			break;
		case 2:
			produto.mostrarPorCodigo();
			break;
		}
		
		System.out.println("DIGITE [0] PARA CONTINUAR ");
		resp = entrada.nextInt();
		
		}while(resp == 0);
		
		
	}

}

 

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!