1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Qual o erro desse sistema simples de login em java?

Olá, tudo bem senhores? Então, estou fazendo um sistema simples de cadastro (que esta funcionando),mas o problema surge em fazer o login do usuário. Se alguém souber,por favor me explique pq está dando este erro, ja li livros e não consigo enxergar o erro(sou iniciante,me desculpem). Grato pela ajuda senhores. O código segue abaixo:

import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

public final class Programa {

    ArrayList<Proprietario> Prop = new ArrayList<>();
    private List<Proprietario> prop;
    Scanner in = new Scanner(System.in);

    public static void main(String[] args) {

    }

    public Programa() {
        Proprietario e = new Proprietario();
        int op;
        Prop = new ArrayList<>();
        System.out.println("Bem vindo");
        System.out.println("Digite 1 para cadastrar e 2 para logar");
        op = in.nextInt();
        if (op == 1) {
            cadastrar();

        } else if (op == 2) {
            logar();

        } else {
            System.out.print("Opção invalida");
        }

    }

    public void logar() {
        Proprietario n = new Proprietario();
        String nome, senha;

        do {
            System.out.println("Sistema de login");
            System.out.println("Digite o nome do usuario");
            nome = in.nextLine();
            nome=in.nextLine();
            System.out.println("Digite a senha");
            senha = in.nextLine();



        } while ((nome.compareToIgnoreCase(n.getNome()) != 0)|| (senha.compareTo(n.getSenha())!=0));



        System.out.println("Seja bem vindo a sua agenda" + n.getNome());
    }

o erro que aparece é este aqui:

Exception in thread "main" java.lang.NullPointerException
    at java.lang.String$CaseInsensitiveComparator.compare(String.java:1181)
    at java.lang.String$CaseInsensitiveComparator.compare(String.java:1174)
    at java.lang.String.compareToIgnoreCase(String.java:1227)
    at AGenda.Programa.logar(Programa.java:50)
    at AGenda.Programa.<init>(Programa.java:28)
    at AGenda.Menu.main(Menu.java:9)
Java Result: 1
  • O método logar começa criando um novo Proprietario n, na linha do while é comparado o nome digitado com o n.getNome(), mas fiquei na dúvida, a essa altura quem é o n? Vai comparar o nome digitado com um dado null, e quem é o prop.size? Onde ele é populado? Outra coisa importante, quando tenta logar qual erro aparece? Ele chega a receber os dados e acontece o que?! Ah e não ligue em ser iniciante, eu também sou e vivo quebrando cabeça mas é assim que a gente aprende!

    Sophie Vergueiro   22 de jun de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags login java ou faça a sua própria pergunta.