Array de Objetos - duvida sobre nullpoint
pessoal se alguém puder tirar minha duvida ficarei agradecido.
Bom, tentei desenvolver esse código (sou um pouco leigo ainda nesta parte de array, listas, etc)eu fiz em outra classe e funcionou, mais nesta não ta funcionando, ta dando NullPointerException, se alguem tiver vendo algum erro e puder me ajudar, aguardo respostas, a... é o código é meio grandinho...
Bom, tentei desenvolver esse código (sou um pouco leigo ainda nesta parte de array, listas, etc)eu fiz em outra classe e funcionou, mais nesta não ta funcionando, ta dando NullPointerException, se alguem tiver vendo algum erro e puder me ajudar, aguardo respostas, a... é o código é meio grandinho...
public class UsuarioDados {
private String nome;
private int dia;
private int mes;
private int ano;
private String usuario;
private String senha;
private String cpf;
private int tamanho;
UsuarioDados dados[]=new UsuarioDados[100];
public UsuarioDados(String nome, int dia, int mes, int ano, String usuario, String senha, String cpf){
this.tamanho=0;
this.nome=nome;
this.dia=dia;
this.mes=mes;
this.ano=ano;
this.usuario=usuario;
this.senha=senha;
this.cpf=cpf;
}
public UsuarioDados(){}
public void setT(int tamanho){
this.tamanho=tamanho;
}
public int getT(){
return this.tamanho;
}
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome=nome;
}
public String getUsuario(){
return this.usuario;
}
public void setUsuario(String usuario){
this.usuario=usuario;
}
public String getSenha(){
return this.senha;
}
public void setSenha(String senha){
this.senha=senha;
}
public int getDia() {
return dia;
}
public void setDia(int dia) {
this.dia = dia;
}
public int getMes() {
return mes;
}
public void setMes(int mes) {
this.mes = mes;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public void mostrar(){
for (int i=0;i<=this.tamanho;i++){
// System.out.println(this.dados[i].novoUS/*.getNome()*/);
// System.out.println(this.dados[i]/*.getUsuario()*/);
}
}
public void entrar(){
String usuarioT;
String senhaT;
int escolha;
int i;
Scanner scan=new Scanner(System.in);
do{
System.out.print("Usuario: ");
usuarioT=scan.next();
System.out.print("Senha: ");
senhaT=scan.next();
i=verificarConta(usuarioT);
if(i!=-1){
menu(i);
}else{
scan.nextLine();
System.out.println("LOGIN OU SENHA INCORRETOS OU CONTA INEXISTENTE");
System.out.println("O que deseja fazer?");
System.out.println("1 - tentar novamente");
System.out.println("2 - voltar ao menu");
escolha=scan.nextInt();
if(escolha==1){
entrar();
}
}
}while(usuarioT.isEmpty() || senhaT.isEmpty()/* || usuarioT.equals(this.usuario) || senhaT.equals(this.senha)*/);
}
public void cadastro(){
Scanner scan=new Scanner(System.in);
do{
System.out.println("Cadastro de novo Usuario");
System.out.println("OS CAMPOS MARCADOS COM ' * ' SÃO OBRIGATÓRIOS");
System.out.println("Nome*: ");
this.nome=scan.nextLine();
System.out.println("Usuario*: ");
this.usuario=scan.next();
System.out.println("Senha*: ");
this.senha=scan.next();
scan.nextLine();
//nome, dia, mes, ano, usuario, senha, cpf
System.out.print("Data de nascimento* ");
System.out.print("Dia: ");
this.dia=scan.nextInt();
System.out.print("Mês: ");
this.mes=scan.nextInt();
System.out.print("Ano: ");
this.ano=scan.nextInt();
scan.nextLine();
System.out.println("DIGITE O CPF SEM PONTUAÇÃO OU TRAÇOS");
System.out.println("CPF: ");
this.cpf=scan.nextLine();
if(nome.isEmpty() || usuario.isEmpty() || senha.isEmpty() || cpf.isEmpty() || dia==0 || mes==0 || ano==0){
System.out.println("");
System.out.println("DADOS OBRIGATORIOS NÃO PREENCHIDOS");
}
if((2017-ano)<18){
System.out.println("NÃO É POSSIVEL CADASTRAR, O USUÁRIO É MENOR DE IDADE");
}
}while(cpf.isEmpty() || nome.isEmpty() || usuario.isEmpty() || senha.isEmpty() || dia==0 || mes==0 || ano==0 || /*(ano-2017)<18*/verificar(ano)==true || cpf.length()<11 || cpf.length()>11);
System.out.println("SALVO");
UsuarioDados novoUS=new UsuarioDados(nome, dia, mes, ano, usuario, senha, cpf);
this.dados[tamanho]=novoUS;
this.tamanho++;
int i=verificarConta(usuario);
menu(i);
}
public static boolean verificar(int ano){
if(2017-ano<18){
return true;
}
return false;
}
public int verificaTamDad(UsuarioDados dados[]){
if(dados[tamanho]!=null){
return this.tamanho++;
}
return this.tamanho;
}
public int getTam(){
return this.tamanho;
}
public void menu(int i){
Scanner scan= new Scanner(System.in);
Imoveis imovel= new Imoveis();
int escolha=0;
do{
//System.out.println("Olá "+this.nome);
System.out.println("Olá "+this.dados[i].getNome());
System.out.println("Escolha a opção desejada");
System.out.println("1 - Comprar Imóvel");
System.out.println("2 - Vender imóvel");
System.out.println("3 - Alugar imóvel próprio (locador)");
System.out.println("4 - Alugar imóvel de terceiros (inquilino)");
System.out.println("5 - Histórico de operações");
System.out.println("6 - Sair");
escolha=scan.nextInt();
switch(escolha){
case 1:
menuCompra();
//imovel.mostrar();
break;
case 2:
imovel.setVendedor(this.nome);
imovel.Vender();
break;
case 3:
break;
case 4:
break;
case 5:
break;
default:
System.out.println("opção inválida");
case 6:
//System.exit(0);
break;
}
}while(escolha!=6);
}
public void addContasInicial(){
//ADICIONANDO CONTAS ALEATORIAS
//#############0
UsuarioDados novo=new UsuarioDados();
this.nome=("Pedro Henrique");
this.dia=(14);
this.mes=(11);
this.ano=(1995);
this.usuario=("pedro");
this.senha=("admin");
this.cpf=("12345678911");
novo=new UsuarioDados(nome, dia, mes, ano, usuario, senha, cpf);
this.dados[tamanho]=novo;
this.tamanho++;
}
Pedro Andrade
Curtidas 0
Melhor post
Kervin Silva
30/04/2017
Mano NullPointerException ocorre qnd tem nulo
exemplo:
ele vai passar por todos se algum "dados" estiver null ou vazio ocorre o erro
Invez de Arrays tenta usar List
exemplo:
for (int i=0;i<=this.tamanho;i++){
//System.out.println(this.dados[i].novoUS.getNome());
//System.out.println(this.dados[i].getUsuario());
}
ele vai passar por todos se algum "dados" estiver null ou vazio ocorre o erro
Invez de Arrays tenta usar List
GOSTEI 2
Mais Respostas
Pedro Andrade
29/04/2017
eu consegui resolver, pensei bastante e consegui fazer certinho... agora eu tenho que botar em algum lugar um array ou alguma outra estrutura de dados para ser o histórico, bem provavel que seja na classe que estão as variáveis de imoveis
GOSTEI 0