faz de conta que estes atributos já estavam criado na classe.
Minha dúvida é, se é correto fazer um metódo desse jeito, ou se esses argumentos eu faço no próprio main e não dentro de um metódo.
Construtor não tem que solicitar nada, ele serve só para CONSTRUIR o OBJETO
Seria mais correto assim:
public void cadastrarCliente() {
//Se é um método de cadastro de cliente, então crie um cliente
Cliente cliente = new Cliente();
System.out.print("NOME: ");
cliente.nome = scanner.nextLine();
System.out.print("TELEFONE: ");
cliente.telefone = scanner.nextInt();
}
Se você já viu sobre Getters e Setters, considere trocar os atributos pelos set correspondente
No meu caso, estou fazendo um projeto para minha faculdade, estou querendo desenvolver um programa de fazer pedidos de livros, que no caso coloquei as seguintes classes: Principal, Clientes, Pedidos, Editoras e por fim usando sua ideia criei outra classe CadastrarCliente.
Para adicionar os clientes estou criando uma arraylist, para simular um “banco de dados” ,
e nesse programa preciso cadastrar as editoras e também os pedidos. preciso criar outras classes como fiz para o cliente ? tipo CadastrarEditora e a classe CadastrarPedidos??
CadastrarCliente, CadastrarEditoras e CadastrarPedidos estão mais para ações(métodos) do que Classes.
Então seria uma boa criar os métodos: cadastrarCliente, cadastrarEditoras e cadastrarPedidos em uma classe que não representa algo concreto, pode ser uma classe Sistema, ou até mesmo na Principal (dependendo de como você esta fazendo ou pensa fazer)
EDIT:
Ou como você esta simulando um banco de dados, você pode criar uma classe chamada BancoDeDados e colocar os métodos la.
Sim é correto, mas não precisa fiar criando um Scanner toda hora né?
Seria melhor se a classe chamasse Cliente e não Clientes, pois os atributos que vão nela representa um cliente só, a mesma coisa vale para as outras classes
outra dúvida q estou tendo, é que o seguinte vou cadastrar os clientes e depois as editoras, e quando eu for fazer um pedido eu tenho q seleciona o cliente q irá fazer o tal pedido e como estou usando arrayList estou ficando um pouco perdido, na minha classe Sistema criei os seguintes métodos
//LISTA DOS CLIENTES CADASTRADOS
public void ListarClientes(){
Iterator i = clientes.iterator();
System.out.println("\n\tCLIENTES CADASTRADOS\n");
while(i.hasNext()){
cliente = (Cliente)i.next();
System.out.println("CLIENTE "+(j+=1)+"º: "+cliente.getNome());
}
j=0;
}
//SELECIONANDO CLIENTE DE ACORDO COM A POSIÇÃO QUE ELE ESTA NA LISTA
public void SelecionarCliente(){
System.out.print("\nSELECIONE O CLIENTE: ");
es = teclado.nextInt();
cliente = (Cliente) clientes.get(es-=1);
System.out.print("\nCLIENTE SELECIONADO: "+cliente.getNome());
}
se tiver outro jeito para eu poder selecionar os clientes melhor q este, pfv me da uma luz.