[Logo] PortalJava
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Hottest Topics] Tópicos Quentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Moderation Log] Log de moderação  
Arquivos Binários  XML
Índice dos Fóruns » Java Básico (Iniciantes)
Autor Mensagem
jony_jony
Java Baby

Membro desde: 16/11/2008 12:51:48
Mensagens: 2
Offline

import java.io.*;
import javax.swing.* ;

class Empregado {
String nome;
String cargo;
int matricula;
double salario;
Endereco end_res;
}
class Endereco {
String rua;
int numero;
String cidade;
String estado;
}

public class Emp {
static String arquivo="cadastros.dat";
public static void main(String args[]) {
try {
RandomAccessFile cadastro = null; //declaração
cadastro = new RandomAccessFile(new File(arquivo), "rw");
Empregado emp = new Empregado();
emp.matricula=Integer.parseInt(JOptionPane.showInputDialog("Matrícula"));
emp.nome=JOptionPane.showInputDialog("Nome");
emp.cargo=JOptionPane.showInputDialog("Cargo");
emp.salario=Double.parseDouble(JOptionPane.showInputDialog("Salário"));
emp.end_res.rua=JOptionPane.showInputDialog("Rua");
emp.end_res.numero=Integer.parseInt(JOptionPane.showInputDialog("Número"));
emp.end_res.cidade=JOptionPane.showInputDialog("Cidade");
emp.end_res.estado=JOptionPane.showInputDialog("Estado");

cadastro.seek(cadastro.length());

cadastro.writeInt(emp.matricula);
cadastro.writeUTF(emp.nome);
cadastro.writeUTF(emp.cargo);
cadastro.writeDouble(emp.salario);
cadastro.writeUTF(emp.end_res.rua);
cadastro.writeInt(emp.end_res.numero);
cadastro.writeUTF(emp.end_res.cidade);
cadastro.writeUTF(emp.end_res.estado);


cadastro.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(null,"não possível abrir o arquivo");
}

}
}

quando eu vou rodar, ele pede as informações certinhas até o "emp.end_res.rua=JOptionPane.showInputDialog("Rua");", nessa se eu botar algo, ele vai dar o erro:

Exception in thread "main" java.lang.NullPointerException
at Emp.main(Emp.java:29)
Java Result: 1

o que fazer ?
obrigado.
jony_jony
Java Baby

Membro desde: 16/11/2008 12:51:48
Mensagens: 2
Offline

opa, descpbri o que tava errado, eh que esqueci de chamar o endereco end_res = new endereco(); na classe empregado.
 
Índice dos Fóruns » Java Básico (Iniciantes)
Ir para:   
Powered by JForum 2.1.8 © JForum Team