Hoje na aula discutimos muito esse método.
A sua classe Testando deveria salvar o que o método retorna, ou pelo menos
imprimir, algo como:
public class Testando {
public static void main(String[] args) {
System.out.println(Cargo.obtem("boy"));
}
}
Como explicado na aula, a maneira mais fácil de resolver essa parte da lista
é fazer um método que faça:
public static Cargo obtem(String s) {
a) transforma a string s em maiúsculas, usando método da classe String
b) cria uma variável tipo vetor de Cargo, e faz ela apontar para o vetor
que contém todos os objetos do enum
(lembra do método values()?)
c) procure no vetor a posição do objeto que ao receber toString() retorna
a mesma string s
d) se achar, o valor dessa posição deve ser retornado pelo método.
e) se não achar, seu método deve retornar null.
}
Jonathan
2010/4/20 Peter P. Lupo <[email protected]>
> Se não retorna é pq não entra no if, certo?
> Logo, o que na comparação seu if pode estar errado?
> Pq vc não tenta imprimir o que é retornado por valueOf?
>
> Abraço
>
> Peter P. Lupo
> http://craftnicely.blogspot.com - http://sites.google.com/site/pplupo
> MPS.BR Authorized Implementation Practitioner - Certified ScrumMaster
> Sun Certified Java Associate - Java Brown Belt
> +55 (021) 81742487
>
>
> 2010/4/20 Romulo Freires <[email protected]>
>
> public static Cargo obtem(String nome){
>> nome = nome.toUpperCase();
>> if (valueOf(nome) == BOY);{
>> return BOY ;
>>
>> Com isso os erros de cima pararam mas quando eu faço o teste
>>
>> public class Testando {
>>
>> public static void main(String[] args) {
>> // TODO Auto-generated method stub
>>
>> Cargo.obtem("boy");
>>
>> }
>>
>> }
>>
>> ele não retorna nada e logico que se eu coloco algo do tipo
>> Cargo.obtem("by") ocorre um erro devido a própria condição.
>>
>> O que eu quero saber é pq ele não retorna nada.
>>
>> abraços galera.
>>
>> Em 19 de abril de 2010 23:13, Peter P. Lupo <[email protected]> escreveu:
>>
>>> O compilador checa se vc está retornando algo compatível (do mesmo tipo
>>> ou um subtipo) com o valor de retorno. Null vai servir em todos os casos
>>> onde o retorno for um objeto.
>>>
>>> Se vc fez um desvio (um if por exemplo), o compilador vai verificar se o
>>> seu código retorna algo mesmo que não entre no desvio.
>>>
>>> Então se vc fizer
>>>
>>> if (...) {
>>> return BOY;
>>> }
>>>
>>> o compilador irá reclamar pois caso não entre no if, não haverá retorno.
>>> Uma solução é acrescentar um return fora do if ou no else.
>>>
>>> Abraço
>>>
>>> Peter P. Lupo
>>> http://craftnicely.blogspot.com - http://sites.google.com/site/pplupo
>>> MPS.BR Authorized Implementation Practitioner - Certified ScrumMaster
>>> Sun Certified Java Associate - Java Brown Belt
>>> +55 (021) 81742487
>>>
>>>
>>> 2010/4/19 Romulo Freires <[email protected]>
>>>
>>>> Tô tendo problemas com a assinatura "public static Cargo obtem(String
>>>> nome", TALVEZ SEJA UMA COISA BOBA, mas o fato é que eu fiquei preso
>>>> aí.
>>>>
>>>> segue a parte que não estou conseguindo implementar!
>>>>
>>>>
>>>> "e) Deve haver um método de classe para obter a instância do enum a
>>>> partir da string do seu nome,
>>>> com a assinatura: public static Cargo obtem(String nome)
>>>> Por exemplo: Cargo.obtem("boy") deve retornar a referência da
>>>> instância BOY.
>>>> OBS1: o argumento desse método não precisa estar necessariamente em
>>>> maiúsculas, o seu método
>>>> deve fazer a conversão.
>>>> OBS2: caso o argumento em maiúsculas não corresponda a nenhum enum com
>>>> esse nome, o
>>>> método deve retornar null."
>>>>
>>>> Devido a essa Assinatura eu estou tendo problemas com o RETURN.
>>>>
>>>> O eclipse cobra um return null e eu não estou conseguindo me livrar
>>>> disso, mesmo com um método pronto.
>>>>
>>>> Se alguém puder ajudar eu agradeço muito.
>>>>
>>>> Abraços galera.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Comp 2 - Geral" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected]<comp2-geral%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>>
>>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Comp 2 - Geral" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected]<comp2-geral%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/comp2-geral?hl=en.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Comp 2 - Geral" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<comp2-geral%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/comp2-geral?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Comp 2 - Geral" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<comp2-geral%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/comp2-geral?hl=en.
>
--
You received this message because you are subscribed to the Google Groups "Comp
2 - Geral" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/comp2-geral?hl=en.