Fórum Array de Objetos - duvida sobre nullpoint #580758
29/04/2017
0
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
Curtir tópico
+ 0
Responder
Post mais votado
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
Kervin Silva
Responder
Gostei + 2
Mais Posts
30/04/2017
Pedro Andrade
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)