O erro só aparece na hora de compilar, o IDE não mostra nada de errado…
Classe main:
[code]import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class Banco {
public static ArrayList<Conta> contas;
public static void AtualizarContas() throws IOException{
for(Conta c : contas){
FileOutputStream saida = new FileOutputStream("C:/Users/guilherme/Desktop/c++/java/dado2.0/files/"+ c.getClienteNome()+".txt");
ObjectOutputStream objetosaida = new ObjectOutputStream(saida);
objetosaida.writeObject(c);
objetosaida.close();
}
}
public static void main(String[] args) throws IOException{
contas.add(new Conta("pedro", 10.0));
}
}[/code]
Outra classe:
[code]
import java.io.IOException;
public class Conta extends Banco {
private double saldo = 0;
private String ClienteNome;
Conta(String ClienteNome, double saldo) throws IOException{
ClienteNome = this.ClienteNome;
saldo = this.saldo;
AtualizarContas();
}
double getSaldo(){
return this.saldo;
}
String getClienteNome(){
return this.ClienteNome;
}
void saca(double valor){
if(this.saldo > valor){
this.saldo -= valor;
}
}
void deposita(double valor){
this.saldo += valor;
}
void transfere(double valor, Conta recebedor){
if(this.saldo > valor){
this.saldo -= valor;
recebedor.saldo += valor;
}
}
}[/code]
erro mais especifico:
Exception in thread “main” java.lang.NullPointerException
at Banco.AtualizarContas(Banco.java:12)
at Conta.(Conta.java:13)
at Banco.main(Banco.java:30)
EDIT:
Consegui sanar o problema:
O que acontecia era que eu estava fazendo:
ClienteNome = this.ClienteNome;
Ao invés de:
this.ClienteNome = ClienteNome;
Por isso dava que o arraylist era nulo 