FAQ sobre submissões ao mooshak


Respostas a algumas questões frequentes.

Currently sorted By last update descending Sort chronologically: By last update change to ascending | By creation date

Page:  1  2  (Next)
  ALL

Question:

Várias dúvidas

(Last edited: terça, 17 março 2009, 8:20 )
Answer:
Question:
Suponhamos que no mooshak tenta-se criar um objecto do tipo:
new Music("Boo","Jessica",-500,0,6);
Neste caso temos 3 argumentos inválidos: tempo negativo, formato desconhecido e classificação fora dos limites.
A meu ver o programa pode assumir dois comportamentos possíveis(a definir por mim):
1) ou simplesmente não guarda a música...
2) ou ajusta os resultados
No caso de ajustar os resultados, a música poderia ser guardada com formato padrão MP3 e classificação 3, entre outras especificações.
Portanto, qual destes comportamentos o programa deve seguir?
----------------------------------------------------------------------------------
Answer:
Não é possível um contrutor "não guardar" a música; o que é possível é a 2ª opção, ajustar. Ou seja, fazer o construtor verificar se os valores dos parâmetros são legais e, caso não o sejam, inicializar os campos com valores legais.
Por exemplo, caso o formato não seja legal, inicializar com MP3 ou um dos outros; caso o rating esteja fora dos limites, "encostá-lo" num dos limites: se for zero ou negativo, atribuir ao campo MINIMUM_RATING; se for superior ao máximo, atribuir MAXIMUM_RATING. E assim por diante.

Question: O método equals também deve comparar o ranking?
Answer: Sim, é o que está especificado.

Question: Uma música é igual a outra através das propriedades de qualquer música: nome, autor e tempo. ranking é algo que varia dependendo de cada ouvinte. E ainda assim o método equals deveria comparar duas músicas pelo ranking?
Answer: concordo com o raciocínio, que só fica bem ao seu autor. Mas o facto é que é assim que a coisa foi especificada. Os técnicos têm de fazer o que os seus clientes pedem...

Entry link: Várias dúvidas

Question:

Guião 2, task C: podemos alterar a classe AbstractIterator?

(Last edited: terça, 17 março 2009, 6:11 )
Answer:
Só as partes internas, como o nome do campo _playList. Todos os membros visíveis externamente (i.e., que fazem parte da interface da classe) têm de permanecer como estão, caso contrário surgem erros de compilação no mooshak.
Também é permitido acrescentar membros à classe, tal como é permitido acrescentar classes vossas e mais métodos às classes especificadas. O importante é que as classes e métodos especificados existam com a interface exactamente como especificado (senão ocorrem erros de compilação) e se comportem também como especificado (senão falham nos testes).
Entry link: Guião 2, task C: podemos alterar a classe AbstractIterator?

Question:

Guião 2, task A: qual é o valor que deve ter o campo artist no construtor + simples de Music?

(Last edited: terça, 17 março 2009, 3:17 )
Answer:
null
Entry link: Guião 2, task A: qual é o valor que deve ter o campo artist no construtor + simples de Music?

Question:

Guião 2, task A: posso colocar mais instruções no construtor + simples de Music?

(Last edited: terça, 17 março 2009, 3:16 )
Answer:
Sim.
Entry link: Guião 2, task A: posso colocar mais instruções no construtor + simples de Music?

Question:

Guião 2, tasks A e B: posso submeter para a task B sem ter Accepted na A?

(Last edited: segunda, 16 março 2009, 11:38 )
Answer:
Não. Os testes sobre a funcionalidade de Music são executados também na task B. Se falham na task A, também vão falhar na B. É assim em todas as tasks: os testes das tasks anteriores são executados nas seguintes.
Entry link: Guião 2, tasks A e B: posso submeter para a task B sem ter Accepted na A?

Question:

Guião 2, task A: funcionalidades a verificar?

(Last edited: segunda, 16 março 2009, 11:35 )
Answer:
Quando os argumentos dos métodos são referências a objectos, considerar na programação o caso em que a referência é null.
Os diversos métodos de Music funcionam bem para objectos criados com o construtor mais simples?

Entry link: Guião 2, task A: funcionalidades a verificar?

Question:

Guião 2, task A: qual deve ser valor de rating no construtor com 1 argumento?

(Last edited: segunda, 16 março 2009, 11:09 )
Answer:
Deve encontrar-se dentro dos limites especificados: 1-5 inclusive. Pode ser qualquer valor nesse intervalo.
Entry link: Guião 2, task A: qual deve ser valor de rating no construtor com 1 argumento?

Question:

Guião 2, task A: p/ o método equals de Music, é exigido implementar tb hashCode?

(Last edited: segunda, 16 março 2009, 10:08 )
Answer:
Não, os métodos a implementar são unicamente os especificados no guião 2 (ver anexo no fim) e hashCode não é um deles. Porém, é essencial implementar todos os membros externos de Music, incluindo as constantes.
Entry link: Guião 2, task A: p/ o método equals de Music, é exigido implementar tb hashCode?

Question:

Qual é o URL do mooshak?

(Last edited: quarta, 11 março 2009, 10:10 )
Answer:

http://di169.di.fct.unl.pt/~mooshak/
Entry link: Qual é o URL do mooshak?

Question:

Compile Time Error

(Last edited: sexta, 6 março 2009, 2:36 )
Answer:

Veja se a mensagem é algo como esta:

javac: file not found: poo/Main.java
Usage: javac 
use -help for a list of possible options

Se sim, o problema é que o java não consegue encontrar o ficheiro Main.java dentro do arquivo que submeteu ao mooshak. Normalmente, isso acontece quando nos esquecemos de que devemos zipar o directório poo, com o Main.java lá dentro.

Se não existir um Main.java, ou se esse ficheiro não estiver dentro de um directório chamado poo, o mooshak não o encontra.

Entry link: Compile Time Error


Page:  1  2  (Next)
  ALL