Duvida entre classes

6 respostas
britotr

Boa tarde amigos…

estou com a seguinte duvida…

tenho que fazer duas classes… uma Usuario e uma de GerenciaUsuario… a classe Usuario com os atributos ativo, nome, senha e nomeCompleto… nessa classe preciso criar um metodo que validaLogin para verificar se o usuario e senha inserido conferem…

criei dessa forma…

package exercicios;

public class Usuario {

    public String nome;
    public String senha;
    public String nomeDeUsuario;
    public boolean ativo;

    public Usuario(String nome, String senha, String nomeDeUsuario) {
        this.nome = nome;
        this.senha = senha;
        this.nomeDeUsuario = nomeDeUsuario;
        ativo = true;
    }

    public boolean ativaLogin(String nome, String senha) {
        if (this.nome.equals(nome) && this.senha.equals(senha)) {
            ativo = true;
        } else {
            ativo = false;
        }
        return ativo;
    }

   
}

agora preciso criar a classe GerenciaUsuario… o professor da facu passou para criar dessa forma…

package exercicios;
import java.util.Scanner;
public class GerenciaUsuario {
    
    public static void main (String []args){
        Usuario [] usuario = new Usuario [1000];
        boolean retorno = false;
        
        
               
    }
    public boolean adicionaUsuario (Usuario usuario){
        boolean saida = true;
        Scanner entrada = new Scanner(System.in);
        usuario.nome= entrada.nextLine();
        usuario.senha = entrada.nextLine();
        usuario.nomeDeUsuario = entrada.nextLine();
        return saida;
    }

}

como faco para criar o usuario e testar o metodo? preciso chamar esse metodo adicionaUsuario e passar o objeto Usuario usuario… mas como? isso não ficou claro pra mim… podem me ajudar? e esse construtor tb ficou um pouco vago… eu uso ele para criar um objeto certo? ou seja… toda vez que eu uso Usuario teste = new Usuario {“Joao”, “123”, JoaodaSilva"} eu utilizei o construtor para criar um obejto Usuario com o nome teste com os atributos que são os parametros necessarios… é isso?

valeu

6 Respostas

brunostrik

Olá cara! vou lhe ajudar:

observe que você exemplificou como:

Usuário teste = new Usuário{…}

mas o correto é parênteses tal como:

Usuário teste = new Usuário(…);

2- No seu método main você cria um vetor de usuário gigante, tem certeza que você quer isso?

[]'s

britotr

Ops… realmente me enganei… é () e não {}… então… esse array é só pra exemplificar… na verdade foi o passado pelo professor… mas pode ser 10, 100… qualquer numero…

brunostrik

então é pra criar mesmo essa array de usuários?!, não faz muito sentido isso…

britotr

olha cara, eu realmente nao entendi nada… entao… rsrs… mas foi isso que ele passou… array de usuario… pq depois eu vou acessar cada elemento de usuario e dentro dele conter as informacoes que eu preciso… ou naõ é assim?

brunostrik

joga a array de usuario praser criada na classe, nao no metodo main, no main vc chama o metodo que adiciona os usuarios mas passa como parametro os atributos dele, no metodo que cria usuarios vc cria o objeto, adiciona os parametros, verifica onde tem espaço no array e adiciona.
Se nao entendeu respondo mais tarde, to meio sem tempo

[]'s

Vingdel

Olá britotr,

Veja se esse código que fiz te dá uma luz:

Classe Usuário:
public class Usuario{
	String nome, nomeDeUsuario, senha;
	boolean ativo;

	public Usuario(String nome, String userNome, String pass){
		this.nome = nome;
		this.nomeDeUsuario = userNome;
		this.senha = pass;
		this.ativo = true;
	}
}
Classe GerenciaUsuario:
import java.util.Scanner;

public class GerenciaUsuario{
	// Vetor para armazenar usuários
	Usuario[] user = new Usuario[5];
	// Contador de usuários
	int cont = 0;
	// variavel para armazenar resposta se quer inserir novo usuario
	String denovo;

	// Contrutor
	public GerenciaUsuario(){

		System.out.println("Bem-vindo a programa de gerenciamento de Usuarios!\n\nPor favor entre com os dados solicitados abaixo:");

		do{
			adicionarUsuario();
			Scanner entrada = new Scanner(System.in);
			System.out.print("Cadastrar novo usuario? [S/N] ");
			denovo = entrada.nextLine();
			

		}while(denovo.equals("S") || denovo.equals("s"));

	}
	/* Método responsável por:
		Pedir e receber infos de usuários
		Inserir usuários no vetor responsável por armazenar usuários
		Incrementar contador de usuários
	*/
	public void adicionarUsuario(){

		Scanner entrada = new Scanner(System.in);
		System.out.print("Nome completo: ");
		String nome = entrada.nextLine();
		System.out.print("Nome usuario: ");
		String nick = entrada.nextLine();
		System.out.print("Senha: ");
		String senha = entrada.nextLine();
		Usuario usar = new Usuario(nome, nick, senha);
		user[cont] = usar;
		
		System.out.println(usar.nome + ", " + usar.nomeDeUsuario + ", " + usar.senha);		
		System.out.println(user[cont].nome);

		cont++;
	}

	// Método main
	public static void main(String[] arg){		
		GerenciaUsuario app = new GerenciaUsuario();
	}	
}

Acho que isso vai te ajudar, mas tem que implementar muita coisa para ficar legal, repensar algumas coisas, pois acho que to dando muita volta, fiz tudo meio corrido.

Abraço!

Criado 24 de agosto de 2010
Ultima resposta 25 de ago. de 2010
Respostas 6
Participantes 3