Chamar uma variável

Eu quero imprimir o que eu adicionei em cliente(), mas não pode ser no mesmo {}, pq é para um menu que estou fzd isso. Mas, eu não estou conseguindo, em ‘‘imp()’’ as variáveis clientes e cc, estão mencionado assim: ‘‘cannot find symbol’’

import java.util.List;
import java.util.ArrayList;
import javax.swing.JOptionPane;

public class Cliente {
	
	public static void cliente() {
		CadastroCliente cc = new CadastroCliente();
		List<String> clientes = new ArrayList<>();       
		clientes.add(cc.nome = JOptionPane.showInputDialog("Insira o nome do cliente: "));
		clientes.add(cc.CPF = JOptionPane.showInputDialog("Insira o CPF do cliente: ")); 
	}
	
	public static void imp() {
		for (String obj: clientes) {
			JOptionPane.showMessageDialog(null, cc.toString());
		}
	}
}

Sua lista de clientes precisa estar acessível dentro do método imp(). Você pode:

  • passar a lista como parâmetro para o método;
  • tornar a lista um atributo da classe Cliente;

Adicionalmente, sua lista não deveria ser do tipo CadastroCliente, em vez de String?

Abraço.

Oi, como faz para fazer isso ? Já tentei fazer a lista tipo CadastroCliente, mas aponta erro clientes.add, diz que não é compatível converter string para CadastroCliente.

CadastroCliente cc = new CadastroCliente();
cc.nome = JOptionPane.showInputDialog("Insira o nome do cliente: ");
cc.CPF = JOptionPane.showInputDialog("Insira o CPF do cliente: ");

List<CadastroCliente> clientes = new ArrayList<>();
clientes.add(cc);

entendi, valeu, mas o meu problema mesmo é no imp, não sei como imprimir o que eu aloquei em cc

Não comprendi o funcionamento desse for e a mensagem do joptionpanel n precisa de toString

Complementando a resposta do @staroski:

CadastroCliente cc = new CadastroCliente();
cc.nome = JOptionPane.showInputDialog("Insira o nome do cliente: ");
cc.CPF = JOptionPane.showInputDialog("Insira o CPF do cliente: ");

List<CadastroCliente> clientes = new ArrayList<>();
clientes.add(cc);

// aqui vc chama o método "imp" passando a lista de clientes
imp(clientes);

E o método imp pode ficar assim:

public static void imp(List<CadastroCliente> clientes) {
	for (CadastroCliente cc : clientes) {
		JOptionPane.showMessageDialog(null, cc.toString());
	}
}

Vc conseguirá ter acesso à lista de clientes passando ela como parâmetro para o método imp.