Como adcionar uma string em outra classe?

Isso mesmo.

Fazer isso:

Cadastro cadastro; cadastro = new Cadastro();

É o mesmo que isso:

Cadastro cadastro = new Cadastro();

Muito bom, romarcio!
Fico imensamente grato por tirar minhas dúvidas, vou fazer o programa novamente em base no seu, para que assim eu possa aprender. De coração muito obrigado!
Não aproveitando de sua boa vontade, poderia me tirar essa dúvida ?
Veja:

System.out.print("Digite um nome: "); myCadastro = new Cadastro(); myCadastro.setNomesFunc(input.nextLine()); myVendas.addFuncionario(myCadastro);

Eu poderia fazer dessa forma ?

System.out.print("Digite um nome: "); String nameAdd = input.nextLine(); myCadastro = new Cadastro(); // myCadastro.setNomesFunc(input.nextLine()); myVendas.addFuncionario(nameAdd);

Aqui:

    public void addFuncionario(Cadastro c) {  
        departamentoUm.add(c);  
    }    

De onde você tirou esse Cadastro ? Já que você não instanciou nada dentro da classe ?

Pode fazer desde que mude o tipo de parametro do método addFuncionario() para String e não Cadastro. E também deveria mudar o tipo do ArrayList para String.

Mas é ai que entra a O.O, se você vai fazer um array de Nomes cadastrados, use a classe Cadastro para isso.
Se não, para que um classe cadastro então?

Não entendi a sua última dúvida, explique melhor.

[quote=hackum]caematos,
Você está mandando eu estudar OO ?
Eu estou justamente estudando isso. Mas como sempre, aparece dúvidas sobre o que estou estudando.
E estou iniciando, e as dúvidas estou postando aqui. Mas, vocês mandam estudar, sendo que já estamos estudando o determinado assunto.[/quote]

relaxa, não estou mandando nada não hahaha…
sou iniciante também cara, mas seria bom tu dar uma revisada em OO para entender algumas coisas básicas

por isso mesmo, esse método vai receber de outra classe uma instância já feita de Cadastro, que será referenciado pela variável “c

Olá a todos!
Oi, romarcio, mais uma vez obrigado por responder!
Bom, eu quero saber, de onde você tirou esse Cadastro desse código:

public void addFuncionario(Cadastro c) {    
    departamentoUm.add(c);    
}      

Olá caematos!
Somos eternos aprendizes!
Obrigado por responder!
Mas, porque nesse caso ele não chamou a classe com:

Cadastro myCadastro = new Cadastro

Ele tinha que fazer isso para ter o Cadastro, não ?
Visto, que você criou uma variavel: c para pegar os dados, mas e esse Cadastro ?
Por favor, se possível, me explique mais uma vez abragendos todos os aspectos.

Abraços a todos!

repare que quem chama o método é na outra classe

myCadastro = new Cadastro(); myCadastro.setNomesFunc(input.nextLine()); myVendas.addFuncionario(myCadastro);

ela já criou uma instância de Cadastro() (myVendas) , e está passando para o método

public void addFuncionario(Cadastro c) {      
    departamentoUm.add(c);      
}        

então o método acima vai receber uma instância do tipo Cadastro (myVendas da outra classe) e vai referenciar pela variável c. Não precisa dar o new porque já está pronto, sacou?
c e myVendas apontam pra mesma instância no momento em que foi passada pro método.

não quero ser arrogante nem nada.

mas vendo o seu código inicial, sugiro que dê uma lida sobre método construtor.

Com certeza vai te ajudar no futuro

Desculpe-me, mas acho que todos vocês deveriam tentar aprender um pouco de orientação a objetos. Vocês estão programando em uma linguagem Orientada a Objetos e me parece não conhecerem nada disso.
Um objeto (a instanciação de uma classe) é a base de tudo. Enquanto esse objeto existir ele está disponível e pode ser usado.
Vocês criaram myVendas e myCadastro dentro do método main da classe Vendas. Tudo bem, eles vão existir enquanto esse método rodar, mas um objeto precisa conhecer o outro se, como no caso, um objeto faz o cadastro e o outro quer mostrar a lista.
Onde estão as listas? Na classe VendasTest e onde ela é instanciada? Em myVendas na classe Vendas. E como myCadastro sabe onde está essa lista para ser usada? Passando ela por parâmetro:

VendasTest myVendas = new VendasTest(); Cadastro myCadastro = new Cadastro(myVendas);

É claro que a classe Cadastro tem que saber o que fazer com essa informação, então criamos nela um atributo para receber e guardar essa instancia myVendas:

[code]public class Cadastro {

private String nomesFunc; //nome do funcionario   
//cria Scanner para obter dados  a partir da janela de comando   
Scanner input = new Scanner(System.in);
private VendasTest myVendas;[/code]

e criamos um constructor para receber e guarder o parâmetro neste atributo:

public Cadastro(VendasTest myVendas){ this.myVendas = myVendas; }

Pronto, agora, dentro de Cadastro você pode usar os métodos de VendasTest e as listas estarão a disposição e sendo usadas e carregadas.
Então depois usar o Scanner cada vez é só adicionar uma string a lista:

[code]
nomesFunc = input.nextLine();
myVendas.addFuncionario(nomesFunc);
while(input.hasNext())
{
//pede a solicitacao dos nomes
System.out.println(“Digite o nome dos funcionarios para o departament 1:”
+ “Apos concluido. Aperta simultaneamente Ctrl +d para sair”);
nomesFunc= input.nextLine();
myVendas.addFuncionario(nomesFunc);

        counter++; //incrementa   
    }[/code]   

E o resto em Vendas nem precisa ser mudado, por que agora todos estão usando a mesma lista.

Desculpem tanta explicação, mania de professor, mas você iriam lutar muito ainda se não entenderem que a lista só existe dentro do objeto instanciado na classe VendasTest. Cadastro nem sabe que ela existe. Isso é encapsulamento. Isso é orientação a objetos. Separar os métodos de cada objeto dentro da classe e fazer com que um objeto veja o outro de alguma maneira.

Se, por exemplo, você instanciasse um VendasTest myVendas dentro de Cadastro, não seria o mesmo objeto instanciado em Vendas. Haveriam 2 objetos VendasTest e seriam duas listas. Por isso é preciso mostrar um objeto ao outro.
Mas sabendo orientação daria para fazer este pequeno projeto de várias maneiras diferentes.

JoaoBluSCBR você já deu aulas sobre coesão e acoplamento?

desculpem, não é myVendas e sim myCadastro.