Comunicaçao de atributos/metodos erro

6 respostas
programaçãometodosjava
thsaraiva

Olá pessoal,
Sou iniciante na area aprendendo Java e estou fazendo um pequeno projeto pra aprensetar na aula.
Consiste no seguinte; Uma locadora de veiculos com uma certa quantidade de veiculos ja cadastrados, ook.
To com uma duvida que pra muitos é simples, mas não sei fazer rsrsr
O erro que esta acontecendo comigo é o seguinte;
Tem uma classe Clientes, no qual cadastro e é guardadas as informaçoes do mesmo, uma dessas informações é um atributo carroAlugado. Porem na hora do metodo cadastrar() rodar, eu não sei como faço pra que o campo aonde for digitaddo seja um valor igual da classe que está o modelo do carro.
Exemplo
na classe Carros, tem um atributo modelo que recebeu hb20.
Quando fosse atribuido um valor pra carroAlugado da classe Cliente, fosse atribuido o mesmo valor de do atributo modelo, fazendo uma comunicação entre eles, algo assim.

parte do codigo, metodo onde quero colocar.

>     public void cadastrar(){
>                Scanner sc = new Scanner(System.in);
>                 System.out.print("Nome: ");
>                     setNome(sc.nextLine());
>                 System.out.print("Endereço: ");
>                     setEndereco(sc.nextLine());
>                 System.out.print("Telefone: ");
>                     setTelefone(sc.nextInt());
>                 System.out.print("Idade: ");
>                     setIdade(sc.nextInt());
>                 System.out.print("RG: ");
>                     setRg(sc.nextLine());
>                 System.out.print("CPF: ");
>                     setCpf(sc.nextLine());
>                 System.out.print("Qual carro deseja alugar?"); 
>     **Essa parte pra fazer a comunicação**

se alguem puder me dar uma ajuda, uma luz pra me guiar no caminho kkk
vlw

6 Respostas

darlan_machado

Como está a classe Cliente?
Qual a necessidade de ter uma classe Carro se você não vai usá-la como atributo da classe Cliente?

thsaraiva

A classe Carro, tem atributos dos carros do tipo km rodados, modelo, marca e tal.

A classe Cliente está dessa forma;

public class Cliente {

//Atributos.
private String nome;
private String endereco;
private int telefone;
private int idade;
private String rg;
private String cpf;
private String carroAlugado;
private String dataDeAluguel;
private String dataDeDevolucao;

apos tem todos os metodos setters e getters.

darlan_machado

Ta, mas não seria mais útil ter algo assim:

public class Carro {
    private String marca;
    private String modelo;
    private String cor;
    //Demais atributos e métodos
}

E

public class Cliente {
    private String nome;
    private String endereco;
    private int telefone;
    private int idade;
    private String rg;
    private String cpf;
    private Carro carro; //Ou private Carro[] carros;
    //Demais atributos e métodos
}
thsaraiva

Em uma mesma classe?

E como ficaria, pra que quando o “pessoa” digita-se o modelo que ela quer alugar fosse o mesmo valor que ta amarzenado no atributo String modelo;

System.out.print("Qual carro deseja alugar?");
como ficaria pra o atributo receber o scanner, mas sendo o modelo da classe Carro
ou to errado na minha forma de querer fazer?

darlan_machado

A ideia de se trabalhar com objetos é esta.
Senão, qual a vantagem, ter uma classe Carro e ter os atributos referentes a um carro (ou mais de um) na classe Cliente? Entenda, não existem coerência nisso.
Você pode manter uma lista de Carros e, quando for digitado o modelo de um carro que já existe, identificar e associar o carro cadastrado ao cliente.
Penso ser uma ideia mais adequada.

thsaraiva

Vlw pelo exclarecimento, to iniciando nos estudos agora rsrs por isso estou confuso!

Criado 27 de setembro de 2018
Ultima resposta 30 de set. de 2018
Respostas 6
Participantes 2