Boa noite, eu tenho que criar um método para cadastrar Palavras Simples e Compostas (deve receber os dados da palavra e o seu tipo e instanciar um objeto do tipo Palavra ou PalavraComposta e armazenar no array de Palavras). Senão há mais lugar, o método deve retornar false. Senão, retorna true.
Informe o seu problema, o q “não está funcionando”? Outra coisa, onde está o array d palavras?
Rodrigo_Sasaki
Você instancia a palavra mas não faz nada com ela, talvez por isso pareça que “não está funcionando”, pois o objeto é instanciado, e logo após o fim da execução desse método ele se torna elegível para o Garbage Collector.
M
maxcanoas
O meu array de palavras é esse:
private static final Palavra[]d = {
new Palavra("PAPEL", "Sem dica"),
new Palavra("RATO", "Sem dica"), new Palavra("TIGRE", "animal"),
new Palavra("OLEO", "Sem dica"), new PalavraComposta("JOAO-DE-BARRO", "pássaro",3),
new Palavra("QUEM", "Sem dica"), new PalavraComposta("ARCO-IRIS", "Sem dica",2),
new Palavra("QUALQUER", "Sem dica"), new Palavra("CROCODILO", "animal"),
new Palavra("IRA", "O mesmo que raiva"), new Palavra("OLHAR", "Sem dica") } ;
O não está funcionando é, quando eu vou testar esse método, ele não cadastra palavra alguma em nenhum lugar…
M
maxcanoas
Então eu deveria fazer como, Rodrigo? Depois que eu instancio ela, eu tenho que guardar ela no array, não to sabendo fazer isso…
Rodrigo_Sasaki
Eu recomendo que use alguma coleção como ArrayList ou HashSet.
Senão você vai ter que ficar copiando o array pra aumentar o tamanho. Coisa que as coleções já fazem internamente.
fabiocortolan
O meu array de palavras é esse:
private static final Palavra[]d = {
new Palavra("PAPEL", "Sem dica"),
new Palavra("RATO", "Sem dica"), new Palavra("TIGRE", "animal"),
new Palavra("OLEO", "Sem dica"), new PalavraComposta("JOAO-DE-BARRO", "pássaro",3),
new Palavra("QUEM", "Sem dica"), new PalavraComposta("ARCO-IRIS", "Sem dica",2),
new Palavra("QUALQUER", "Sem dica"), new Palavra("CROCODILO", "animal"),
new Palavra("IRA", "O mesmo que raiva"), new Palavra("OLHAR", "Sem dica") } ;
O não está funcionando é, quando eu vou testar esse método, ele não cadastra palavra alguma em nenhum lugar…
Vc está setando a variável como “final”, nesse caso vc não conseguirá fazer nenhuma modificação nela. Remova esse identificador, outra coisa, vc instancia Palavra e PalavraComposta em duas variáveis diferentes, p/ facilitar vc pode instanciar apenas uma variável, e depois d instanciar a classe e atribuir a palavra desejada, adicione ao array conforme abaixo:
Obs.: fique atento a identação do código, ajuda muito na manutenção.
M
maxcanoas
Pois é, já me disseram pra fazer com ArrayList, mas não fiz porque eu não aprendi ainda (to no inicio da faculdade)! ¬¬
Daí eu teria que fazer do jeito mais trabalhoso mesmo…
Rodrigo_Sasaki
M
maxcanoas
O meu array de palavras é esse:
private static final Palavra[]d = {
new Palavra("PAPEL", "Sem dica"),
new Palavra("RATO", "Sem dica"), new Palavra("TIGRE", "animal"),
new Palavra("OLEO", "Sem dica"), new PalavraComposta("JOAO-DE-BARRO", "pássaro",3),
new Palavra("QUEM", "Sem dica"), new PalavraComposta("ARCO-IRIS", "Sem dica",2),
new Palavra("QUALQUER", "Sem dica"), new Palavra("CROCODILO", "animal"),
new Palavra("IRA", "O mesmo que raiva"), new Palavra("OLHAR", "Sem dica") } ;
O não está funcionando é, quando eu vou testar esse método, ele não cadastra palavra alguma em nenhum lugar…
Vc está setando a variável como “final”, nesse caso vc não conseguirá fazer nenhuma modificação nela. Remova esse identificador, outra coisa, vc instancia Palavra e PalavraComposta em duas variáveis diferentes, p/ facilitar vc pode instanciar apenas uma variável, e depois d instanciar a classe e atribuir a palavra desejada, adicione ao array conforme abaixo:
Obs.: fique atento a identação do código, ajuda muito na manutenção.
Cara, beleza, entendi o que tu quis dizer, mas veja, o meu método é boolean. Se não há mais lugar, o método deve retornar false. Senão, retorna true, como fica?
fabiocortolan
Deixa eu ver se entendi, vc quer verificar se existe espaço no vetor e se não existir retorna false? Nesse caso vc teria q fazer um for verificando qual ponto do vetor está vazio e add a palavra neste ponto, se nenhum estiver vazio retorna false, segue um exemplo (coloque esse código no lugar de "d[x] = word;":
Informe o seu problema, o q "não está funcionando"? Outra coisa, onde está o array d palavras?
O meu array de palavras é esse:
private static final Palavra[]d = {
new Palavra("PAPEL", "Sem dica"),
new Palavra("RATO", "Sem dica"), new Palavra("TIGRE", "animal"),
new Palavra("OLEO", "Sem dica"), new PalavraComposta("JOAO-DE-BARRO", "pássaro",3),
new Palavra("QUEM", "Sem dica"), new PalavraComposta("ARCO-IRIS", "Sem dica",2),
new Palavra("QUALQUER", "Sem dica"), new Palavra("CROCODILO", "animal"),
new Palavra("IRA", "O mesmo que raiva"), new Palavra("OLHAR", "Sem dica") } ;
O não está funcionando é, quando eu vou testar esse método, ele não cadastra palavra alguma em nenhum lugar..
Vc está setando a variável como "final", nesse caso vc não conseguirá fazer nenhuma modificação nela. Remova esse identificador, outra coisa, vc instancia Palavra e PalavraComposta em duas variáveis diferentes, p/ facilitar vc pode instanciar apenas uma variável, e depois d instanciar a classe e atribuir a palavra desejada, adicione ao array conforme abaixo:
Obs.: fique atento a identação do código, ajuda muito na manutenção.
Cara, beleza, entendi o que tu quis dizer, mas veja, o meu método é boolean. Se não há mais lugar, o método deve retornar false. Senão, retorna true, como fica?
Se você retirar a linha word[3] = "6" o método inclui o 5 no array e retorna true, caso contrario o array não tem espaço não inclui o 5 e retorna false.