[AJUDA] ArrayList

6 respostas
T

alguém pode me dizer o que há de errado? Não consigo adicionar o objeto que crio no arraylist "listaM". Sou BEM iniciante e não faço a minima ideia do que possa ser, já tentei varias maneiras.

import java.util.ArrayList;

public class Materia {
    
    private int CodMateria;
    private String nome;
    private int[] notas = new int[4];

    public int getCodMateria() {
        return CodMateria;
    }

    public String getNome() {
        return nome;
    }

    public int[] getNotas() {
        return notas;
    }

    public void setNotas(int[] notas) {
        this.notas = notas;
    }
    
     ArrayList<Materia> listaM = new ArrayList<>();

    
    Materia portugues = new Materia();
    Materia matematica = new Materia();
    Materia historia = new Materia();
    Materia geografia = new Materia();
    Materia ciencias = new Materia();
    Materia artes = new Materia();
    Materia edFisica = new Materia();
    Materia ingles = new Materia();
    Materia espanhol = new Materia();
 

    listaM[0].add(portugues);
    
    
}

6 Respostas

Rodrigo_Sasaki

Não se trabalha com o ArrayList dessa maneira utilizando índices, você até pode utilizar índices, mas de outra forma no seu caso é fácil resolver, remova o índice :slight_smile: listaM.add(portugues)Mas eu sugiro que você estude coleções antes de começar a desenvolver, ter o conceito vai facilitar muito a sua vida.

jeffev

Tente assim:

listaM.add(portugues);
F

listaM[0].add(portugues);
A sintase acima esta errada, vc esta tentando add uma referencia de objetos em um arraylist como se fosse um array comum.

Sintase correta ao trabalhar com ArrayList

ListaM.add(portugues);

ou se quiser especificar um indice no arrayList

pode usar:

ListaM.add(0, portugues);
T

Oi eu já tinha tentado do jeito que vocês me disseram, essa ai q postei foi a ultima que tentei, nem vi que tinha deixado assim para postar

listaM.add(portugues);

usando desta maneira não estou conseguindo também. olhe o erro que dá:
"package listaM does not exist

expected

cannot find symbol
symbol:class portugues
location: class axvi.se.Materia

expected

Surround with…"

e as sujestões para a corrigir não me serve

“Create class “portugues” in package axvi.se
Create class “portugues” in axvi.se.Materia”

Não preciso criar uma classe só para armazenar uma lista do objeto materia, não é mesmo??

Rodrigo_Sasaki

Ah, você precisa estar em um método. Não pode escrever solto na classe assim.

T

OBRIGADO Digão =D

Era essa saturiba ai msmo, apostilas são boas mas não perfeitas. hheheheh
vlw

Criado 2 de outubro de 2012
Ultima resposta 2 de out. de 2012
Respostas 6
Participantes 4