Dúvidas sobre import java.util.Scanner;

Boa noite, seguem as seguintes classes começando pela classe Conta:

[code]package entity;
import java.util.Scanner;
public class Conta {

private Integer numero;
private Double saldo;
private Double limite;
Cliente titular;
private static int contador = 0;


public Conta(Cliente titular) {
	this.titular = titular;
	contador++;
	System.out.println("Cliente de numero: " + contador);
}
public Conta(){
	
}
public Cliente getTitular() {
	return titular;
}

public Integer getNumero() {
	return numero;
}

public void setNumero(Integer numero) {
	this.numero = numero;
}

public Double getSaldo() {
	return saldo;
}

public void setSaldo(Double saldo) {
	this.saldo = saldo;
}

public Double getLimite() {
	return limite;
}

public void setLimite(Double limite) {
	this.limite = limite;
}

public static int getContador() {
	return contador;
}
public void deposita(Double valor) {
	this.saldo += valor;
	System.out.println("Deposito efetuado");
}
public boolean  saca(Double valor) {
	if (valor < saldo + limite) {
		this.saldo -= valor;
		System.out.println("Saque efetuado");
		  return true;
	}else {
		System.out.println("Saldo insuficiente");
		return false;
	}
}
public boolean transfere(Conta destino, Double valor) {
	boolean retira = this.saca(valor);
	  if (retira == true) {
		  destino.deposita(valor);
		    System.out.println("Transferência efetuada");
		     return true;
	  }else {
		  System.out.println("Saldo insuficiente");
		  return false;
	  }
}

static void mostra() {
	System.out.println("Numero de clientes: " + getContador());
}	
public Conta lerDados() {
	Conta n = new Conta();
	
	Scanner input = new Scanner(System.in);
	
	System.out.println("Informe o numero de inscrição:");
	n.setNumero(new Integer(input.nextLine()));
	System.out.println("Saldo do cliente:");
	n.setSaldo(new Double(input.nextLine()));
	System.out.println("Limite de sua conta:");
	n.setLimite(new Double(input.nextLine()));
	
	return n;
}

}[/code]

Classe Cliente:

[code]package entity;
import java.util.Scanner;
public class Cliente {

private String nome;
private String cpf;
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 Cliente lerCliente() {
	Cliente e = new Cliente();
	
	Scanner input = new Scanner(System.in);
	
	System.out.println("Nome do cliente:");
	e.setNome(input.nextLine());
	System.out.println("Cpf do cliente:");
	e.setCpf(input.nextLine());
	
	return e;
}

}

[/code]
Finalizando classe Main:

[code]package entity;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {

 Cliente marcos = new Cliente();
 Conta c = new Conta(marcos);
 marcos = marcos.lerCliente();
 System.out.println("Nome do cliente: " + marcos.getNome());
 System.out.println("CPF do cliente: " + marcos.getCpf());

 c = c.lerDados();
 System.out.println("Numero de inscrição: " + c.getNumero());
 System.out.println("Saldo: " + c.getSaldo());
 System.out.println("Limite: " + c.getLimite());
 
 Cliente rachel = new Cliente();
 Conta r = new Conta(rachel);
 
 Cliente monica = new Cliente();
 Conta m = new Conta(monica);	  

}
}[/code]

Minha dúvida é se eu posso fazer posso chamar o método scanner das duas classes uma única vez e como dar resultados de um método como o deposita(Double valor) por exemplo, informando o quanto foi depositado e saldo após depósito.
Obrigado.

Crie uma classe que faça a leitura através do teclado.
E nela você cria uma instancia das outras classes para atribuir os valores vindo do teclado.
Isso pode ser feito também no método main, leia do teclado pelo método main e atribuas os valores depois de ler.

Pesquisarei sobre isso, obrigado.

[quote=romarcio]Crie uma classe que faça a leitura através do teclado.
E nela você cria uma instancia das outras classes para atribuir os valores vindo do teclado.
Isso pode ser feito também no método main, leia do teclado pelo método main e atribuas os valores depois de ler.[/quote]

Essa classe lê valores do teclado:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class ValorEntrada {
	public static String obterValor(){
		BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
		try {
			return entrada.readLine();
		} catch(Exception e){
			return null;
		}
	}
}

Nesse caso, ao querer ler algo do teclado, é só atribuir a variável: ValorEntrada.obterValor()
Não se pode esquecer que o valor lido é String, então você tem que convertê-lo.