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.
