Na classe Pedido há três atributos que são do tipo ArrayList e que
devem armazenar objetos das classes Papel, CaixaLapis e Caderno
respectivamente, conforme sugere os nomes dos atributos.
Alguém pode me ajudar com isso ?
Na classe Pedido há três atributos que são do tipo ArrayList e que
devem armazenar objetos das classes Papel, CaixaLapis e Caderno
respectivamente, conforme sugere os nomes dos atributos.
Alguém pode me ajudar com isso ?
Mas qual é a dúvida?
A duvida seria na criação pra armazenar, eu criei assim
import java.util.ArrayList;
public class Pedido implements Manipulacao {
private String data;
private String cliente;
private float totalpedido;
private ArrayList <CaixaLapis> cxlapis = new ArrayList<>();
private ArrayList <Papel> papel = new ArrayList<>();
private ArrayList <Caderno> caderno = new ArrayList<>();
agora como faço pra armazenar objetos das classes Papel, CaixaLapis e Caderno
Instancia o objeto e depois adiciona na lista com o método add
.
minhaLista.add(meuObjeto);
to tentando adicionar, mas ele n ler o add, fiz assim
public class Pedido implements Manipulacao {
private String data;
private String cliente;
private float totalpedido;
private List<Papel> papel = new ArrayList<>();
private List<CaixaLapis> cxlapis = new ArrayList<>();
private List<Caderno> caderno = new ArrayList<>();
cxlapis.add(quantidade);
cxlapis.add(colorido);
tenho as classe pedido, caderno, e caixalapis são classes concretas
Não se pode ter instruções soltas no corpo da classe.
Os métodos add
você vai ter que chamar dentro de algum método.
Imagino que seja dentro do método cadastro
da classe Pedido
.
Outra coisa, dentro do cxlapis
, você não vai inserir quantidade
nem colorido
.
Você vai inserir objetos do tipo CaixaLapis
.
Então você vai criar um objeto do tipo CaixaLapis
, vai setar a quantidade
dele e se é colorido
e então vai adicioná-lo na lista.
CaixaLapis c1;
c1 = new CaixaLapis();
c1.quantidade("");
c1.colorido("");
cxlapis.add(c1);
assim funciona ? foi mal minha primeira experiência em programação, principalmente em java
Posta o fonte da sua classe CaixaLapis
.
Você está setando com valores do tipo String
.
De acordo com o seu diagrama, quantidade
tem que ser um atributo do tipo int
e colorido
tem que ser do tipo boolean
.
Dica:
Você não precisa declarar as variáveis em uma linha e inicializar na linha seguinte.
Você pode declarar e inicializar na mesma linha, veja:
CaixaLapis cl = new CaixaLapis();
Outra coisa, no seu diagrama a classe CaixaLapis
também posui um construtor sobrecarregado que recebe a quantidade
, se é colorido
, a marca
e o valor
então ao invés de fazer assim:
CaixaLapis cl = new CaixaLapis();
cl.setQuantidade(12);
cl.setColorido(true);
cl.setMarca("Faber Castell");
cl.setValor(12.50);
cxLapis.add(cl);
Você pode reduzir seu código assim:
cxLapis.add( new CaixaLapis(12, true, "Faber Castell", 12.50) );
Eu tentei da Primeira forma
CaixaLapis cl = new CaixaLapis();
cl.setQuantidade(12);
cl.setColorido(true);
cl.setMarca(“Faber Castell”);
cl.setValor(12.50);
cxLapis.add(cl);
Mas ele n me retorna os set , olha como está o código todo em si, tenho que implementar a interface manipulação na classe pedido e ele n ta lendo o metodo cadastro e nem a interface ligada
Produto.rar (22,8,KB)
ce poder me ajudar agradeço muito
Você esqueceu de declarar o package
em algumas classes, dái não tem como usar elas dentro do seu pacote produto
.
Seu fonte não está como você postou na maensagem acima, seu fonte está assim:
public Pedido() {
Arraylist CaixaLapis = new Arraylist();
CaixaLapis.add("quantidade");
CaixaLapis.add("colorido");
Arraylist Caderno = new Arraylist();
Caderno.add("tamanho");
Caderno.add("capadura");
Caderno.add("tipo");
Caderno.add("qtdefolhas");
}
Porque você criou uma classe Arraylist
?
Usa a classe ArrayList
do Java.