//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)
import java.util.ArrayList;
import java.util.ArrayRa;
import java.util.ArrayNomes;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class array {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String ra45=17660145;//vou inserir 10 ras ficticios
String nome45=gilbertodasilva; //vou inserir 10 nomes ficticios
int i;
ArrayList lista = new ArrayList(10);
ArrayRa ra = new ArrayRa(10);
ArrayNome nome = new ArrayNome(10);
for (i = 1; i <= 10; i++) {
String ra = JOptionPane.showInputDialog(i, “digite seu RA”);
lista.add(ra);
lista.add(nome);
}
System.out.printf(“A lista de Registros Academicos é”+lista+ra+nome);
}
}
Deu erro import java.util.ArrayNome;
import java.util.ArrayRa;
Olha, eu posso estar errado mas acredito que não exista tipos de dados ArrayRa e ArrayNomes.
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:
aqui o seu código
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ê:
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
public class RobCarn {
public static void main(String[]args){
Map<Integer, String> registros = new HashMap<Integer, String>();
for(int i = 0; i< 10; i++){
int ra = Integer.parseInt(JOptionPane.showInputDialog("Informe o RA: "));
String nome = JOptionPane.showInputDialog("Informe o nome: ");
registros.put(ra,nome);
}
StringBuilder saida = new StringBuilder("");
for(Integer ra:registros.keySet()){
saida.append("Aluno: ").append(registros.get(ra));
saida.append(" - RA: ").append(ra).append("\n");
}
JOptionPane.showMessageDialog(null, saida.toString());
}
}
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: "));
[import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
public class projetomap{
public static void main(String[]args){
Map <Integer, String > registros = new HashMap < Integer, String >();
for(int i = 1; i <=6; i++){
int ra = Integer.parseInt(JOptionPane.showInputDialog(i,"Informe o RA: "));
String nome = JOptionPane.showInputDialog(i,"Informe o nome: ");
int nota1 = Integer.parseInt(JOptionPane.showInputDialog(i,"Informe sua primeira nota: "));
registros.put(ra,nome,nota1);
}
StringBuilder saida = new StringBuilder("");
for(Integer ra:registros.keySet()){
saida.append("Aluno: ").append(registros.get(ra));
saida.append(" - RA: ").append(ra).append("\n");
saida.append("NOTA1: ").append(registros.get(nota1));
}
JOptionPane.showMessageDialog(null, saida.toString());
}
}]
deu este erro:
C:\Documents and Settings\Meus documentos\JCreator Pro\MyProjects\nomera\projetomap\src\projetomap.java:13: put(java.lang.Integer,java.lang.String) in java.util.Map<java.lang.Integer,java.lang.String> cannot be applied to (int,java.lang.String,int)
registros.put(ra,nome,nota1);
^
C:\Documents and Settings\Meus documentos\JCreator Pro\MyProjects\nomera\projetomap\src\projetomap.java:20: cannot find symbol
symbol : variable nota1
location: class projetomap
saida.append("NOTA1: ").append(registros.get(nota1));
^
2 errors
Process completed.
Na verdade eu queria somar tbem as notas dos alunos…
Obrigado.
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:
public class Aluno{
private int ra;
private String nome;
private double nota1;
// métodos getters e setters omitidos...
// Um construtor com os três argumentos só para facilitar nossa vida
public Aluno(int ra, String nome, double nota1){
this.ra = ra;
this.nome = nome;
this.nota1 = nota1;
}
}
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
public class RobCarn {
public static void main(String[]args){
Map<Integer, Aluno> registros = new HashMap<Integer, Aluno>();
for(int i = 0; i< 10; i++){
int ra = Integer.parseInt(JOptionPane.showInputDialog("Informe o RA: "));
String nome = JOptionPane.showInputDialog("Informe o nome: ");
double nota1 = Double.parseDouble((JOptionPane.showInputDialog("Informea nota 1: "));
Aluno aluno = new Aluno(ra,nome,nota1);
registros.put(ra,aluno);
}
StringBuilder saida = new StringBuilder("");
for(Integer ra:registros.keySet()){
Aluno aluno = (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?
Obrigado Gilmar, então são dois programas?
O primeiro eu salvo como aluno e o segundo como RobCarn.
Como eu vinculo um programa com o outro?