java - Erro ao adicionar objetos lado a lado em um array - Stack Overflow em Português
Preciso adicionar os métodos get para uma ArrayList, tentei com vírgulas para separar, porém não funciona, só consigo adicionar se for um embaixo do outro, o que não serve pra mim. Tentei criar a ArrayList do tipo da classe que quero puxar, porém ele chama os construtores, o que também não serviria.
(actual and formal arguments lists differ in length)
Junto com isso acima lista todos os meios de adicionar itens na lista com o mesmo erro.
A ArrayList precisa armazenar os objetos da classe CaixaLapis que basicamente são gets e sets.
package prj_interdisciplinar;
//importar listas no Java
public class Pedido implements Manipulacao{
private Data data = new Data(1, 1, 2001);
private Cliente cliente = new Cliente("semnome", "semcpf", "semtel");
private float totalpedido;
private ArrayList cxlapis = new ArrayList();
private ArrayList papel = new ArrayList();
private ArrayList caderno = new ArrayList();
//construtor sem parametros
//Teste com ArrayList fora do método cadastro
public void adicionaCaixaLapis(){
CaixaLapis cxl = new CaixaLapis();
cxlapis.add(cxl.getQuantidade(), cxl.isColorido(), cxl.getMarca(), cxl.getValor());
void imprimeLista() {
for(int i = 0; i<cxlapis.size(); i++){
System.out.println(cxlapis.get(i));
* @return the totalpedido
public float getTotalpedido() {
return totalpedido;
* @param totalpedido the totalpedido to set
public void setTotalpedido(float totalpedido) {
this.totalpedido = totalpedido;
//calcular pedido
public void calculaTotalPedido(){
//chamada manipulacao
public boolean cadastro(){
imprimeLista();
public String consulta(){
return  "texto";
editada 17/10/19 às 19:49
Bruno MeloBruno Melo
Ao invés de add, não seria addAll? – Gustavo Sampaio 15/10/19 às 0:10
Tentei com o addAll, porém o erro informa que nenhum dos métodos de adicionar dá certo pois se diferenciam no tamanho, algo do tipo, vou tentar jogar o erro ali no post. – Bruno Melo 15/10/19 às 0:13
No caso, aquelas funções retornam valores diferentes? Isto é, getQuantidade(), isColorido(), getMarca() e getValor() retornam valores de tipos diferentes? – Gustavo Sampaio 15/10/19 às 0:17
int, boolean, String e float são os valores, a ideia seria armazenar lado a lado para imprimir a linha com informações ou pelo menos exibí-los lado a lado – Bruno Melo 15/10/19 às 0:20
@BrunoMelo A resposta resolveu sua dúvida? Acha que pode aceitá-la? Veja o tour se não souber como faz. Isso ajudaria muito indicar que a solução foi útil para você. Também pode votar em qualquer pergunta ou resposta que achar útil no site todo – Maniero♦ 18/10/19 às 20:18
O erro é que o método add() só aceita um argumento e você está tentando usar vários. Este é o erro, então se usar um funcionará. Eu sei que não é o que deseja, mas é o que dá para responder. Provavelmente quer fazer outra coisa aí, talabvez criar um objeto e colocar nesse array.
Me desculpe se não é o que deseja ver, mas é o melhor que posso fazer. Resolver este problema não serve para muita coisa. A quantidade de erros neste código é enorme e está aprendendo muita coisa errada, então é até melhor que não funcione.
Não consigo listar todos os erros e alguns só posso especular por não conhecer os requisitos, mas dá para inferir algo pelo que universalmente se faz.
Essa herança não parece fazer sentido, um Pedido não é uma Manipulacao seja lá o que isto signifique. Se não entende para que serve herança não tente fazer.
Esses arrays nesta classe não parecem fazer sentido ainda mais sem usar a sintaxe genérica. Nenhum pedido real teria essas coisas fixas, é uma modelagem errada, por isso eu digo para nem se preocupar com o erro apresentado, ele só existe porque a classe já está conceitualmente errada e consertando esses erros o erro da pergunta deixará de existir. O mesmo vale para a criação do cliente.
Esta classe que cria data certamente é um erro, já dá para perceber pela forma como o construtor foi feito, prefira usar o que tem pronto.
float não pode ser usada para dinheiro. Não faz sentido criar um construtor vazio que não faça nada, os nomes dos identificadores estão ruins, os métodos não parecem fazer o que seus nomes indicam.
editada 15/10/19 às 13:29
respondida 15/10/19 às 0:34
É sobre um trabalho da faculdade, como estou aprendendo não imaginei que tivesse tantas coisas sem sentido, porém o jeito como foi proposto o trabalho foi realmente horrível. Obrigado pela ajuda, já sei também que não posso me basear neste código para fazer nada hahaha – Bruno Melo 15/10/19 às 0:39