Como relacionar Registros Academicos com nomes de alunos?
14 respostas
C
carneirotecinfo
Boa tarde galera, tenho uma dúvida: Como relacionar numeros com nomes no java?
Exemplo: Digite seu RA: 17733845
Seu RA é:17733845 --> seu nome é: Miguel Oliveira Dantas
Fiz o codigo abaixo, apareceram 03 erros.
[/**
@(#)ranome.java
ranome application
@author
@version 1.00 2009/4/23
*/
//programa entre com seu RA, vincule com seu respectivo nome
//exemplo: Digite seu RA: 17733845
//seu RA é:17733845 --> seu nome é: Miguel Oliveira Dantas
Mapas usam o conceito de chaves e valores. Tendo a chave em mãos você pode obter o valor depois.
No caso a chave é o RA, e o valor é o nome da pessoa.
o método put do mapa funciona com chave e valor nessa order: map.put(key, value);
C
carneirotecinfo
Bruno obrigado.
Só uma duvida é: map.put(key, value);
ou registro.put(123456, “nome”);
Eu coloquei o map.put.
Veja codigo abaixo:
[/**
@(#)ranome.java
ranome application
@author
@version 1.00 2009/4/23 /
//programa entre com seu RA, vincule com seu respectivo nome
//exemplo: Digite seu RA: 17733845
//seu RA é:17733845 --> seu nome é: Miguel Oliveira Dantas
import java.util.;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
public class ranome {
publicstaticvoidmain(String[]args){Stringnome;inti=1;ListArrayList=newArrayList();Map<Integer.String>registros=newHashMap<Integer,String>();for(inti=1;i<=5;i++){map.put(17733845,"Gustavo Leonardo");map.put(11113845,"Rodrigo Viana");map.put(17789645,"Guiomar batista");map.put(002433845,"Vera Cruz");map.put(00033845,"Maria Aparecida");intra=Integer.parseInt(JOptionPane.showInputDialog("Digite seu RA"));registros.put(nome,ra);}StringBuildersaida=newStringBuilder("");for(Integerra:registros.keySet()){saida.append("Nome:").append(registros.get(ra));saida.append("-RA:").append(ra).append("\n");}JOptionPane.showMessageDialog(null,saida.toString());}
}
]
B
Bruno_Laturner
Não saia colocando código sem entender o que acontece primeiro.
O que você realmente precisa, nesta ordem:
-Montar uma lista de RAs e Nomes
-Solicitar um RA do usuário
-Obter o RA na lista.
-Responder com "´", ou com o nome da Pessoa.
Com isso dito:
importjava.util.*;importjavax.swing.JOptionPane;publicclassRaNome{publicstaticvoidmain(String[]args){// -Montar uma lista de RAs e NomesMap<Integer,String>registros=newHashMap<Integer,String>();map.put(17733845,"Gustavo Leonardo");map.put(11113845,"Rodrigo Viana");map.put(17789645,"Guiomar batista");map.put(002433845,"Vera Cruz");map.put(00033845,"Maria Aparecida");// -Solicitar um RA do usuárioIntegerra=newInteger(JOptionPane.showInputDialog("Digite seu RA"));// -Obter o RA na lista.Stringnome=registros.get(ra);Stringsaida=null;// verifica se encontrou um nome associado ao RA.if(nome==null)saida="RA não encontrado.";elsesaida="seu RA é: "+ra+" --> seu nome é: "+nome;JOptionPane.showMessageDialog(null,saida);}}
publicclassRaNome1{publicstaticvoidmain(String[]args){// -Montar uma lista de RAs e Nomes Map<Integer,String>registros=newHashMap<Integer,String>();map.put(17733845,"Gustavo Leonardo");map.put(11113845,"Rodrigo Viana");map.put(17789645,"Guiomar batista");map.put(002433845,"Vera Cruz");map.put(00033845,"Maria Aparecida");// -Solicitar um RA do usuário Integerra=newInteger(JOptionPane.showInputDialog("Digite seu RA"));// -Obter o RA na lista. Stringnome=registros.get(ra);Stringsaida=null;// verifica se encontrou um nome associado ao RA. if(nome==null)saida="RA não encontrado.";elsesaida="seu RA é: "+ra+" --> seu nome é: "+nome;JOptionPane.showMessageDialog(null,saida);}
}
]
fabbio_2k
Está ai o seu programa funcionando :
importjava.util.HashMap;importjava.util.Map;importjavax.swing.JOptionPane;publicclassRaNome{publicstaticvoidmain(String[]args){// -Montar uma lista de RAs e Nomes Map<Integer,String>registros=newHashMap<Integer,String>();registros.put(17733845,"Gustavo Leonardo");registros.put(11113845,"Rodrigo Viana");registros.put(17789645,"Guiomar batista");registros.put(2433845,"Vera Cruz");registros.put(33845,"Maria Aparecida");// -Solicitar um RA do usuário Integerra=newInteger(JOptionPane.showInputDialog("Digite seu RA"));// -Obter o RA na lista. Stringnome=registros.get(ra);Stringsaida=null;// verifica se encontrou um nome associado ao RA. if(nome==null)saida="RA não encontrado.";elsesaida="seu RA é: "+ra+" --> seu nome é: "+nome;JOptionPane.showMessageDialog(null,saida);}}
B
Bruno_Laturner
Java reclamado que 00033845 é um inteiro muito grande… haha, vai saber…
Desculpe pelo código que não compilou, não testei mesmo.
Outra opção é usar Strings no lugar do RA, ou mesmo um próprio objeto do tipo RA para representá-lo.
E por favor, use as tags código para formatar o código.
C
carneirotecinfo
Obrigadao0 jfabbio e bruno, na hora de colocar o código eu coloco nos[code], na hora aparece ele bem arrumado, mas depois que coloco no[code] vejo ele todo dessarumado!!.
Será que estou fazendo certo?
sidcazi
quando for postar coloque em code"[code]"
C
carneirotecinfo
Entendi todo o código, só não entendi esta parte:
O que significa esta parte?
String saida = null;
Seria o return(null)?
if (nome == null)
se (nome == RA)
seria isto?
B
Bruno_Laturner
Null é o valor para referênciar objetos que ainda não existem, ou não encontrados.
publicclassroberto{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);inta,b,c,r;inti;// -Montar uma lista de RAs e Nomes Map<Integer,String>registros=newHashMap<Integer,String>();registros.put(17733845,"Gustavo Leonardo");registros.put(11113845,"Rodrigo Viana");registros.put(17789645,"Guiomar batista");registros.put(2433845,"Vera Cruz");registros.put(33845,"Maria Aparecida");// -Solicitar um RA do usuário Integerra=newInteger(JOptionPane.showInputDialog("Digite seu RA"));// -Obter o RA na lista. Stringnome=registros.get(ra);Stringsaida=null;// verifica se encontrou um nome associado ao RA. if(nome==null)saida="RA não encontrado.";elsesaida="seu RA é: "+ra+" --> seu nome é: "+nome;JOptionPane.showMessageDialog(null,saida);System.out.println("digite sua 1º nota:");a=input.nextInt();System.out.println("digite sua 2º nota:");b=input.nextInt();System.out.println("digite a nota do trabalho:");c=input.nextInt();r=(a+b+c)/3;if(r>=6)System.out.print("Parabens vc passou: %d\n",c);elseSystem.out.print("vc nao passou: %d\n",c);System.exit(0);}
} ]
Onde foi que eu errei?
B
Bruno_Laturner
Não existe o método print no System.out que tenha dois parâmetros.