Como jogar dados para outra classe! Dúvida!

12 respostas
G

Boa tarde! Sou um newcommer x2 no mundo de java, e sempre quando tenho um tempo livre, pego alguma idéia e começo a programar!

To com a seguinte dúvida, tenho a classe Cliente e a classe Hotelmain! Como faço para que os dados da minha hotelmain sejam salvos na classe cliente, acho que estou fazendo algo bem errado, segue abaixo os códigos!

Clientes!
package Hotel;

public class Cliente {
	
	public String nomeCliente;
	public String CPF;
	public String RG;
	public String Naturalidade;
	public String Nacionalidade;
	public String Telefone;
	public String Email;
	
	public Cliente(String nomeCliente,String CPF,String RG,String Naturalidade,String Nacionalidade,String Telefone,String Email ){
		this.nomeCliente = nomeCliente;
		this.CPF = CPF;
		this.RG = RG;
		this.Naturalidade = Naturalidade;
		this.Nacionalidade = Nacionalidade;
		this.Telefone = Telefone;
		this.Email = Email;
	}
	public String getNomeDoCliente() {
		return nomeCliente;
	}
	public void setNomeDoCliente(String nomeCliente) {
		this.nomeCliente = nomeCliente;
	}
	public String getCadastroPessoaFisica() {
		return CPF;
	}
	public void setCadastroPessoaFisica(String CPF) {
		this.CPF = CPF;
	}
	public String getRegistroGeral() {
		return RG;
	}
	public void setRegistroGeral(String RG) {
		this.RG = RG;
	}
	public String getNaturalidade() {
		return Naturalidade;
	}
	public void setNaturalidade(String Naturalidade) {
		this.Naturalidade = Naturalidade;
	}
	public String getNacionalidade() {
		return Nacionalidade;
	}
	public void setNacionalidade(String Nacionalidade) {
		this.Nacionalidade = Nacionalidade;
	}
	public String getTelefone() {
		return Telefone;
	}
	public void setTelefone(String Telefone) {
		this.Telefone = Telefone;
	}
	public String getEmail() {
		return Email;
	}
	public void setEmail(String Email) {
		this.Email = Email;
	}
	public String toString(){
		String message = 
		"\t Nome do Cliente: " + this.nomeCliente +
		"\t CPF = " + this.CPF +
		"\t RG = " + this.RG +
		"\t Naturalidade = " + this.Naturalidade +
		"\t Nacionalidade = " + this.Nacionalidade +
		"\t Telefone de Contato = " + this.Telefone +
		"\t E-Mail de Contato = " + this.Email;
		
		return message;
	}
	
	
	

}
HotelMain!
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Hotel;

import Cliente.Hotel;
import java.util.Scanner;

/**
 *
 * @author Guguinha
 */
public class HotelMain {
    
    // DADOS DO CLIENTE
    	public String nomeCliente;
	public int CPF;
	public int RG;
	public String Naturalidade;
	public String Nacionalidade;
	public int Telefone;
	public String Email;;
    
        
        public Scanner scanner = new Scanner(System.in);
        public Scanner scanner2 = new Scanner(System.in);
    
    
    
    public void exibirMenu() {
                 System.out.println("________________________________________________________________");
                System.out.println("\n\n| - - - - - - - - - - -  MENU  - - - - - - - - - - - -|");
                System.out.println("|  [0] - SAIR DO SISTEMA                                  |");
                System.out.println("|  [1] - CADASTRAR CLIENTE                                |");
                System.out.println("|  [2] - CADASTRAR PRODUTOS                               |");
                System.out.println("|  [3] - CADASTRAR QUARTO                                 |");
                System.out.println("|  [4] - CONSULTAR QUARTO                                 |");
                System.out.println("|  [5] - FAZER PRÉ-RESERVA                                |");
                System.out.println("|  [6] - FAZER RESERVA                                    |");
                System.out.println("|  [7] - EFETUAR CHECK-IN                                 |");
                System.out.println("|  [8] - REQUISITAR CONTA                                 |");
                System.out.println("| - - - - - - - - - - - - - - - - - - - - - - - - - - - - |");
                System.out.print("  Opção : ");

        }

   public void escolhamenu() {
        int opcao;
                String entrada;
                do {
                        exibirMenu();
                        try {
                                entrada = scanner.nextLine();
                                opcao = Integer.parseInt(entrada);
                                switch (opcao) {
                                case 0:
                                        System.exit(0);
                                        break;
                                case 1:
                                        cadastrarCliente();
                                        break;
                                case 2:
                                        cadastrarProduto();
                                        break;
                                case 3:
                                        cadastrarQuarto();
                                        break;
                                case 4:
                                        consultarQuarto();
                                        break;
                                case 5:
                                        efetuarprereserva();
                                        break;
                                case 6:
                                        efetuarreserva();
                                        break;
                                case 7:
                                        efetuarcheckin();
                                        break;
                                case 8:
                                        pedirconta();
                                        break;
                                default:
                                        System.out.println("\nOPCÃO INVÁLIDA!");
                                        break;
            }

                        } catch (NumberFormatException e) {

                                System.out.println("________________________________________________________________");
                                System.out.println("\nDIGITE SOMENTE NÚMEROS!\n");
                                opcao = -1;

                        } catch (Exception e) {

                                System.out.println("________________________________________________________________");
                                System.out.println("ERRO: " + e);
                                opcao = -1;

                        }

                } while (opcao != 0); }

   
public void cadastrarCliente() {
    System.out.print("\nDIGITE O NOME DO CLIENTE: ");
    nomeCliente = scanner.nextLine();
    ///
    System.out.print("\nDIGITE O CPF DO CLIENTE: ");
    CPF = scanner2.nextInt();
    ///
    System.out.print("\nDIGITE O RG DO CLIENTE: ");
    RG = scanner2.nextInt();
    ///
    System.out.print("\nDIGITE A NATURALIDADE: ");
    Naturalidade = scanner.nextLine();
    ///
     ///
    System.out.print("\nDIGITE A NACIONALIDADE: ");
    Nacionalidade = scanner.nextLine();
    ///
     ///
    System.out.print("\nDIGITE O TELEFONE: ");
    Telefone = scanner.nextInt();
    ///
    System.out.print("\nDIGITE O E-MAIL: ");
    Email = scanner.nextLine();
        ///
    System.out.println(Hotel.Cliente(nomeCliente, CPF, RG, Naturalidade, Nacionalidade, Telefone, Email));
    }
    else
    System.out.println("\nERRO! Cliente já cadastrado!");
        }
      }
}

12 Respostas

yhhik

vc deve usar os metodos get e set para isso:

public void cadastrarCliente() {  

Cliente cliente=new Cliente();//vc tem que istanciar o cliente

    System.out.print("\nDIGITE O NOME DO CLIENTE: ");  

     cliente.setNomeCliente = scanner.nextLine();
G

Então na minha classe main ficaria!

public void cadastrarCliente() { Cliente cliente = new Cliente(); System.out.print("\nDIGITE O NOME DO CLIENTE: "); cliente.setNomeCliente = scanner.nextLine();

E como eu chamaria o get na classe Cliente?

yhhik

não tinha notado antes:

public String nomeCliente; public String CPF; public String RG; public String Naturalidade; public String Nacionalidade; public String Telefone; public String Email;

declare como private o encapsulamento seve justamente para isso.

alguns métodos como:

public void cadastrarCliente()

tbm devem ser declarados como private a não ser que vc queira que outras classes o enxerguem.

G

entendi! e sobre como eu vou os dados para a classe cliente? o set ficaria como?

} public String getNomeDoCliente() { return NomeCliente; } public void setNomeDoCliente(String NomeCliente) { this.NomeCliente = NomeCliente; }

ASsim?

yhhik

Guguinha12:
Então na minha classe main ficaria!

public void cadastrarCliente() { Cliente cliente = new Cliente(); System.out.print("\nDIGITE O NOME DO CLIENTE: "); cliente.setNomeCliente = scanner.nextLine();

E como eu chamaria o get na classe Cliente?

colega vc está com conceitos errados…
o cliente é uma entidade é um objeto, nele vc vai declarar os métodos get e set e para acessar os atributos dele de outra classe vc vai usar esses get’s(recupera) e set’s(adiciona)

G
void setHospede(String nome){  
   this.nome = nome; 
}
  
String setHospede(){  
   return this.nome; 
}
Tipo assim? Teria como me dar um exemplo dentro das classes que postei?
yhhik

da uma olhada:

public class Cliente {

	private String nome;
	private String cpf;
	private int idade;

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public int getIdade() {
		return idade;
	}


	public void setIdade(int idade) {
		this.idade = idade;
	}


	public static void main(String[] args) {

		Cliente c=new Cliente();//estou criando um cliente
		
		c.setCpf("[CPF removido]");//estou add o cpf ao cliente
		c.setIdade(16);//estou add a idade ao cliente
		c.setNome("Cristina");//estou add o nome ao cliente
		
		System.out.println("NOME:"+c.getNome());//estou mostrando os dados do cliente
		System.out.println("IDADE:"+c.getIdade());// ""   ""
		System.out.println("CPF:"+c.getCpf());// ""   ""


	}

}
G

Tá agora acho que entendi, mas no caso você ta setando os valores na própria classe, posso no caso instanciar essa classe na minha outra que vai ser a MAIN, e jogar os valores por entrada de dados correto?

starkiller

Cara, pelo que eu to vendo vc não tem muita noção de orientação a Objeto ( que é de fundamental importancia pra quem quer aprender a programar em java, php, c++ e etc ). Aprenda primeiro esse paradigma. Não adianta vc querer pular essa fase, pois tudo vai parecer confuso pra vc. Sei que é chato ver a teoria, mas ela é de fundamental importancia para a execução da parte prática.

G

Eu sei um bucado sobre POO, porém o que me falta é a prática mesmo, como disse, não é trabalho de cursinho, escola, faculdade nem nada, é por diversão e passa tempo.

Mesmo assim vou procurar ler mais sobre. Grande abraço!

A

Opa, Guguinha12, você chegou a tentar compilar esse código que você fez? Porque parece que o código que você colocou no exemplo não compila, estou certo?

Recomendo que você ao menos leia um tutorial básico sobre a linguagem java, a própria oracle tem tutoriais da linguagem.

G

abmpicoli:
Opa, Guguinha12, você chegou a tentar compilar esse código que você fez? Porque parece que o código que você colocou no exemplo não compila, estou certo?

Recomendo que você ao menos leia um tutorial básico sobre a linguagem java, a própria oracle tem tutoriais da linguagem.

Acredito que não está compilando porque ainda não terminei o método main e os demais métodos.
Sim to lendo sobre :smiley:

Criado 10 de janeiro de 2012
Ultima resposta 10 de jan. de 2012
Respostas 12
Participantes 4