Array dimensional

4 respostas
F

Fala ae galera, blz?

Estou com uma duvida aqui…
Tenho uma tabela com 4 colunas e 3 linhas…

Prof 1     Prof 2     Prof 3      Prof 4

Aluno 1 9 8 7 6
Aluno 2 9 8 7 6
Aluno 3 9 8 7 6

Eu consigo trazer as notas e o id de cada aluno…
Cada aluno tem 4 notas…

Gostaria de fazer um array com essas duas informações (Alunos e Notas)

Alguém poderia me ajudar?

Obrigado!!!

4 Respostas

adornes

Fera, um exemplo bem simples poderia ser assim:

Object[] aluno1 = new Object[]{“Aluno 1”,9, 8, 7, 6};

Object[] aluno2 = new Object[]{“Aluno 2”,9, 8, 7, 6};

Object[] aluno3 = new Object[]{“Aluno 3”,9, 8, 7, 6};

Object[][] alunosNotas = new Object[][]{aluno1, aluno2, aluno3};

System.out.println("Aluno = "+ alunosNotas[0][0]);

System.out.println("Prova 1 = "+ alunosNotas[0][1]);

System.out.println("Prova 2 = "+ alunosNotas[0][2]);

System.out.println("Prova 3 = "+ alunosNotas[0][3]);

System.out.println("Prova 4 = "+ alunosNotas[0][4]);

Mas acho que o maior problema dessa abordagem é que o nome do aluno fica junto com as notas no array. Acho que seria preferível utilizar um HashSet com o nome do aluno como chave (key) e no value o array das notas, ou algo do tipo.

Abraço

F
String[] splitNotas = nota.getNotas().split(",");
String[] splitAluno = nota.getId_alunos().split(",");
		
		for (int i = 0; i < splitAluno.length; i++) {
            for (int j = 0; j < splitNotas.length; j++) {
            	String s = splitAluno[i]+splitNotas[j];  
            	System.out.print(s+" "); 
            }
            i++;
            System.out.println();
        }

Cada aluno tem que verificar 4 notas...
Meu for cada aluno ta vindo 12 notas...

Tenho 3 alunos e 12 notas, são 4 notas para cada aluno!

adornes

Amigão, tá confuso esse teu algoritmo.

Primeiramente, o incremento do i (i++) na linha 9 tá quebrando a lógica, visto que o for já se encarrega desse incremento e o mesmo resultado poderia ser obtive com “for-each” de forma mais clara, conforme exemplo abaixo. Mas esse objeto “nota” também está confuso, pois em um atributo (notas) guarda as notas e em outro atributo (id_alunos) guarda os ids dos alunos, mas se perde a relação entre um e outro.

for (String aluno : splitAluno) {  
	for (String nota : splitNotas) {  
		String s = aluno+nota;    
		System.out.print(s+" ");   
	}  
	System.out.println();  
}
F
String[] splitNotas = nota.getNotas().split(",");
String[] splitAluno = nota.getId_alunos().split(",");		
int sizeNotas = splitNotas.length / splitAluno.length;
for (int i = 0; i < splitAluno.length; i++) {
            for (int j = (sizeNotas * i); j < (i+1) * sizeNotas; j++) {
            	String s = splitAluno[i]+splitNotas[j];  
            	System.out.print(s+"\n");


            }
        }

RESOLVI....

Valeuuuu!

Criado 4 de maio de 2012
Ultima resposta 4 de mai. de 2012
Respostas 4
Participantes 2