Olha, você pode criar duas coleções, dois ArrayLists (é o que eu faria).
Fica mais claro no seu código o que você está fazendo.

Você também pode deixar uma coleção e ordenar de forma que os aprovados
fiquem no início. Uma forma simples de fazer é criar uma coleção vazia,
percorrer a primeira uma vez adicionando na vazia todos os aprovados e
percorrer uma segunda vez pra adicionar os reprovados.

Existe uma outra forma percorrendo uma vez só, usando duas coleções e depois
juntando uma na outra usando o método addAll mas eu não vou entrar em
detalhes para dar a vocês o que pensar.

Se vc quiser realmente fazer uma matriz assim, vc vai ter que fazer usando
um ArrayList onde cada objeto é outro ArrayList, ou seja,
ArrayList<ArrayList<Aluno>>. Acho que vendo isso vc já deve ter notado pq eu
dei outras alternativas.

Qq coisa pergunta.

Abraço


Peter P. Lupo
http://craftnicely.blogspot.com - http://sites.google.com/site/pplupo
MPS.BR Authorized Implementation Practitioner - Certified ScrumMaster
Sun Certified Java Associate - Java Brown Belt
+55 (021) 81742487


2010/4/9 João Lucas Nery Dantas <[email protected]>

> Estou com uma dúvida no mesmo exercício.
>
> No final do exercício é pedido que seja impresso os alunos aprovados
> seguido dos reprovados.
>
> Aí queria criar uma matriz de Aluno para aprovados e reprovados.
>
> Só que de inicio eu não sei a quantidade de cada. Existe algum modo de
> eu criar uma matriz vazia, já que não sei a quantidade, e depois ir
> add em cada matriz os alunos aprovados e rp's?
>
> Ou seja, criar a matriz no inicio sem especificar o tamanho ou vazia.
>
> abs
>
>
> Em 7 de abril de 2010 16:57, Miguel Jonathan <[email protected]>
> escreveu:
> > O Guto deu a dica certa.
> > A classe é bem poderosa, e pode ler dados de várias fontes, inclusive
> > de arquivos e da rede.
> > Mas para fins desse exercício, basta usar os métodos nextInt(),
> > nextFloat() ou nextDouble(), nextLine()
> > Pode-se escrever apenas um valor por linha, ou vários.
> > Por exemplo:
> > Scanner sc = new Scanner(System.in) ;  // associa o scanner  apontado
> > por sc ao teclado
> > System.out.println ("Digite sua idade, seu salário e seu nome: ");
> > // você aqui pode digitar um int numa linha, um double na outra, e uma
> > string na terceira, ou os três na mesma linha
> > int idade = sc.nextInt(); // lê um int e avança até o início do
> > próximo valor
> > double salario = sc.nextDouble();  // lê um double e avança até o
> > início do próximo valor
> > String nome = sc.nextLine();   // lê tudo até o fim da linha corrente.
> >
> > O problema com nextLine() é que brancos antes e depois são
> > considerados caracteres da string, ao contrário do que ocorre com os
> > numeros.
> > Assim, se sua linha digitada for:  21  980,50   Carlos da Silva
> > idade receberá 21, salário receberá 980.50, mas o nome receberá  "
> > Carlos da Silva", com brancos à esquerda.
> > Por isso é melhor ler um dado por linha, especialmente se for string.
> > Mais um detalhe: Java trabalha com o conceito de "locale", palavra
> > usada para representar locais diferentes do mundo que usam convenções
> > diferentes para representar números, dinheiro , datas, etc.
> > A classe Scanner é sensível ao local, e detecta do sistema operacional
> > que usamos aqui vírgula decimal, e não o ponto.
> > Assim, um real lido com um scanner deve ter a vírgula decimal para
> > funcionar com nextFloat() ou nextDouble(). Se colocar ponto decimal
> > vai dar um erro.
> > Vocês notarão que, depois de ler o salário, no exemplo acima, com
> > vírgula, se forem imprimir na tela sairá 980.50
> > Coisas do Java....Para mudar isso será preciso usar formatos, que não
> > vimos ainda.
> >
> > A melhor maneira de eliminar os brancos à esquerda e à direita de uma
> > String é usar o método trim() da classe String, que retorna uma cópia
> > da String que recebe essa mensagem, sem os brancos iniciais e finais:
> > String s = "    abcd    ".trim();
> >
> > Nesse caso s vai apontar para a string "abcd"
> >
> > abs,
> > Jonathan
> >
> > On 7 abr, 13:06, Romulo Freires <[email protected]> wrote:
> >> Obrigado Guto, ficou fácil depois da explicação.
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "Comp 2 - Geral" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected]<comp2-geral%[email protected]>
> .
> > For more options, visit this group at
> http://groups.google.com/group/comp2-geral?hl=en.
> >
> >
>
>
>
> --
> João Lucas Nery Dantas
> Tel: 8885-0596
>
> --
> You received this message because you are subscribed to the Google Groups
> "Comp 2 - Geral" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<comp2-geral%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/comp2-geral?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Comp 
2 - Geral" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/comp2-geral?hl=en.

Responder a