Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

[Projeto] Minha resolução da aula03

Quis fazer de um modo mais interativo, então deixei o usuario (eu no caso), escolher qual posição do vetor ele gostaria de acessar.
Ao meu ver, faltou uma verificação para o caso de tentar acessar uma posição não preennchida, que faria com if provavelmente.

package br.com.alura.aula02;

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

public class Produto {

private String nome;
private double preco;
private int quantidade;

public Produto(String nome, double preco, int quantidade) {
    super();
    this.nome = nome;
    this.preco = preco;
    this.quantidade = quantidade;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public double getPreco() {
    return preco;
}

public void setPreco(double preco) {
    this.preco = preco;
}

public int getQuantidade() {
    return quantidade;
}

public void setQuantidade(int quantidade) {
    this.quantidade = quantidade;
    
}

@Override
public String toString() {
    return "Produto:" + nome + "\npreco: " + preco + "\nquantidade: " + quantidade;
}

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    
    ArrayList<Produto> listaProdutos = new ArrayList<>();
    int pos;
    
    Produto produto1 = new Produto("Mamão",7.99,27);
    Produto produto2 = new Produto("Iphone 15 pro max ultra",19000.99,200);
    Produto produto3 = new Produto("Jiló",13.65,4000);
    Produto produto4 = new Produto("Fósforo",2.59,1000);
    
    listaProdutos.add(produto4);
    listaProdutos.add(produto3);
    listaProdutos.add(produto2);
    listaProdutos.add(produto1);

    System.out.println("Tamanho da lista:" + listaProdutos.size());
    System.out.println("Digite qual posição da lista deseja acesar: ");
    pos = scan.nextInt();
    System.out.println("Elemento da posição: " + listaProdutos.get(pos).nome);
    System.out.println(listaProdutos.get(pos).toString());
    
}

}

2 respostas

Fala, João! Tudo bom?

Agradeço por trazer sua solução para o fórum!

Curti demais como trabalhou a classe Produto para organizar atributos em Java, entendeu perfeitamente a importância da ArrayList para armazenar objetos dinamicamente e usou bem o Scanner para tornar o programa interativo.

E algumas boas práticas que você pode adotar são:

  • Legibilidade: manter nomes de variáveis consistentes, como posicaoEscolhida.
  • Encapsulamento: acessar atributos sempre pelos getters e setters, em vez de diretamente.
  • Interatividade: permitir que o usuário insira novos produtos na lista além de apenas consultar.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: você prefere evoluir esse programa para permitir cadastro de novos produtos ou para implementar um menu com várias opções de consulta e edição?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Olá! Boa tarde Daniel!
Obrigado pelo feedback!
Gostaria de implementar um menu, seria muito interesante.
Vou seguir seus conselhos e melhorar meu código!