Olá amigos, Estou com um problema quando tento add um objeto no meu Arraylist, dá uma execption: “Exception in thread “main” java.lang.NullPointerException”
Nesse programa quero criar um objeto Aluno que tem os atributos nome, idade e peso; e esse objeto vai ser adicionado a um Arraylist turma, e essa lista será gravada em disco. Abaixo segue as 3 classes, e a saida.
Se puderem me ajudar estou meio travado nessa parte.
Obrigado!
Classe Aluno
[code]
package academico;
import java.io.Serializable;
/**
*
-
@author
*/
public class Aluno implements Serializable{
private int idade;
private double peso;
private String nome;/** Creates a new instance of Aluno */
Aluno ()
{
}public String getnome(){ return nome; } public int getidade(){ return idade; } public double getpeso(){ return peso; } public void setNome(String nome) { this.nome = nome; } public void setIdade(int idade) { this.idade = idade; } public void setPeso(double peso) { this.peso = peso; } public String toString() //formato de "saida"/"gravacao" { return (this.nome + " / " + "idade: " + this.idade + "\n" + "Peso: " + this.peso); }
}[/code]
Classe Aplicacao “main”
[code]
package academico;
/**
*
-
@author
*/
public class Aplication {public static void main(String[] args)
{
int opcao;
Interface inf = new Interface();
opcao =inf.mostraMenu();
for(;
{
opcao = inf.mostraMenu();
if(opcao==0)
{
inf.agradecimento();
break;
}
switch (opcao)
{
case 1:
inf.CriarAluno();
break;
case 2:
inf.excluirAluno();
break;
case 3:
inf.imprimirAluno();
break;
case 4:
inf.imprimirAlunos();
break;
case 6:
inf.gravaObjeto();
}
}}
}[/code]
Classe Interface *classe com oroblema do ArrayList
package academico;
[code]
import java.util.Scanner;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
/**
*
-
@author
*/
public class Interface
{
//Interface inf = new Interface();
Scanner teclado=new Scanner(System.in);
ArrayList turma = null;// Cria o objeto serializado
public void Interface()
{
}
public int mostraMenu()
{
int opcao;
System.out.println("########## MENU Sitema ########## \n");
System.out.println(“Digite 0 para sair do Sistema.”);
System.out.println(“Digite 1 para incluir aluno na turma.”);
System.out.println(“Digite 2 para excluir aluno na turma.”);
System.out.println(“Digite 3 para imprimir aluno.”);
System.out.println(“Digite 4 para imprimir alunos.”);
System.out.println(“Digite 5 para salvar em arquivo.”);
System.out.println("Digite 6 para importar alunos.\n\n########## MENU Sitema ########## \n\nOpção: ");
opcao=teclado.nextInt();
return opcao;
}
public void agradecimento()
{
System.out.println(“Obrigado por você usar este sistema!”);
}
public Aluno CriarAluno()
{
Aluno aluno = new Aluno();
String tempNome;
int tempIdade;
double tempPeso;
System.out.println("Digite nome do aluno: ");
aluno.setNome(tempNome=teclado.next());
System.out.println("Digite Idade do aluno: ");
aluno.setIdade(tempIdade=teclado.nextInt());
System.out.println("Digite Peso do aluno: ");
aluno.setPeso(tempPeso=teclado.nextDouble());
turma.add(aluno); //erro!!!
return (aluno);
}
public void excluirAluno()
{
}
public void imprimirAluno()
{
}
public void imprimirAlunos()
{
}
public void gravaObjeto()
{
try
{
//Gera o arquivo para armazenar o objeto
FileOutputStream arquivoGrav =new FileOutputStream("./saida.dat");
//Classe responsavel por inserir os objetos
ObjectOutputStream objGravar = new ObjectOutputStream(arquivoGrav);
//Grava o objeto cliente no arquivo
objGravar.writeObject(turma);
objGravar.flush();
objGravar.close();
arquivoGrav.flush();
arquivoGrav.close();
System.out.println(“Objeto gravado com sucesso!”);
}
catch (IOException erro)
{
erro.printStackTrace( );
}
System.out.println("Recuperando objeto: ");
try
{
//Carrega o arquivo
FileInputStream arquivoLeitura = new FileInputStream("./saida.dat");
//Classe responsavel por recuperar os objetos do arquivo
ObjectInputStream objLeitura =new ObjectInputStream(arquivoLeitura);
System.out.println(objLeitura.readObject());
objLeitura.close();
arquivoLeitura.close();
}
catch( Exception e ){
e.printStackTrace( );
}
}
}[/code]
Agora a saida