//Galera sou novo no forum, e estou com problemas, faz dois dias que estou tentando resolver este problema mas nao consigo.
//programa mostre lista de 10 Ras(Registros Academicos) com seus respectivos nomes//
//e finaliza mostrando o ra digitado com seu respectivo nome.(10 nomes)
Olha, eu posso estar errado mas acredito que não exista tipos de dados ArrayRa e ArrayNomes.
gilmarcand
Com certeza não existe.
robcarn, quando você for postar algum código coloque entre as tags [ code]aqui o seu código.[ /code]. Eu coloquei um espaço após o primeiro colchete somente para invalidar a tag. Isto fará o seu post ficar com esta visão:
aquioseucódigo
gilmarcand
Fica melhor resolver seu problema se você usar um Map ao invés de um List. Dá uma olhada neste código e vê se ele serve para você:
importjava.util.HashMap;importjava.util.Map;importjavax.swing.JOptionPane;publicclassRobCarn{publicstaticvoidmain(String[]args){Map<Integer,String>registros=newHashMap<Integer,String>();for(inti=0;i<10;i++){intra=Integer.parseInt(JOptionPane.showInputDialog("Informe o RA: "));Stringnome=JOptionPane.showInputDialog("Informe o nome: ");registros.put(ra,nome);}StringBuildersaida=newStringBuilder("");for(Integerra:registros.keySet()){saida.append("Aluno: ").append(registros.get(ra));saida.append(" - RA: ").append(ra).append("\n");}JOptionPane.showMessageDialog(null,saida.toString());}}
C
carneirotecinfo
Obrigado gilmar pela atenção!
Compilei o código e deu certo.
Gilmar eu tentei colocar mais um ítem no código mas deu errado. int nota1 = Integer.parseInt(JOptionPane.showInputDialog(i,"Informe sua primeira nota: "));
publicclassprojetomap{publicstaticvoidmain(String[]args){Map<Integer,String>registros=newHashMap<Integer,String>();for(inti=1;i<=6;i++){intra=Integer.parseInt(JOptionPane.showInputDialog(i,"Informe o RA: "));Stringnome=JOptionPane.showInputDialog(i,"Informe o nome: ");intnota1=Integer.parseInt(JOptionPane.showInputDialog(i,"Informe sua primeira nota: "));
Process completed.
Na verdade eu queria somar tbem as notas dos alunos…
Obrigado.
gilmarcand
Map é uma estrutura que funciona com par <CHAVE, VALOR>. Sugeri a você usar porque caia bem para o cenário que você descreveu na primeira situação, mas agora você tem outro cenário, e aí pode-se pensar em outra solução.
Pelo que estou vendo, você pode daqui a algum tempo querer também a nota2, nota3, media, etc, então sugiro a você continuar coma estrutura do Map para guardar os seus registros mas criar uma classe que represente aquilo que é o seu Objeto de negócio. Algo assim:
publicclassAluno{privateintra;privateStringnome;privatedoublenota1;// métodos getters e setters omitidos...// Um construtor com os três argumentos só para facilitar nossa vidapublicAluno(intra,Stringnome,doublenota1){this.ra=ra;this.nome=nome;this.nota1=nota1;}}
importjava.util.HashMap;importjava.util.Map;importjavax.swing.JOptionPane;publicclassRobCarn{publicstaticvoidmain(String[]args){Map<Integer,Aluno>registros=newHashMap<Integer,Aluno>();for(inti=0;i<10;i++){intra=Integer.parseInt(JOptionPane.showInputDialog("Informe o RA: "));Stringnome=JOptionPane.showInputDialog("Informe o nome: ");doublenota1=Double.parseDouble((JOptionPane.showInputDialog("Informea nota 1: "));Alunoaluno=newAluno(ra,nome,nota1);registros.put(ra,aluno);}StringBuildersaida=newStringBuilder("");for(Integerra:registros.keySet()){Alunoaluno=(Aluno)registros.get(ra);saida.append("RA: ").append(aluno.getRa()).append("\n");saida.append("Nome: ").append(aluno.getNome()).append("\n");saida.append("Nota 1: ").append(aluno.getNota1()).append("\n\n");}JOptionPane.showMessageDialog(null,saida.toString());}}
Vê se te ajuda?
C
carneirotecinfo
Obrigado Gilmar, então são dois programas?
O primeiro eu salvo como aluno e o segundo como RobCarn.