Questões Whizlabs

No whizlabas caem mtas questões referentes a Regex, NumberFormat, DateFormat…
Só que na prova essas questões quase nao caem ( pelo menos, pelo que tenho lido ).
Estou tirando em média 50% nos exames do whizlabs.
Estou meio preocupado pq minha prova é dia 21.
Mas to achando nao posso me basear mto no whizlabs, devido a essas questõe que são cobradas até exageradamente no whizlabs.
OBS: eu nao parei para me preocupar com esses assuntos…

Estou certo? ou estou tendo um pensamento errado?

bom cara isso é relativo… minha primeira prova… mesmo tinha mais de 10 questoes de threads… e nessa so veio 6… e nao muito dificil mais facil ate que a kathy so com codigo grandes media de 30 linhas ou um pouco mais… bom… o interessante é vc saber um pouco de tudo… claro que regex aparece la mais nada como o whizlabs… que é bem dificil tinha uma por exemplo q nem compilava pq usava “\s” entao vc conhecer os caracteres validos… e os metodos referente a cada classe e como funciona é o ideal so nao pode ficar inseguro com esse assunto de regex… agora sobre datas apareceu 2 questoes de drop… para eu formatar de acordo com a data do pais la especificado uma que envolve o parse… e outra sobre instanciação… agora lembro que no meu primeiro exame… caiu bastante de data eu me confudia bastante e nao tava seguro… e quando eu fiz tb la em abril tirava no whizlabs o maximo era 60% e nunca de primeira sempre la para terceira tentativa… e fiz na prova 54% dos 59%… bom nao quero ti ajustar… mais é uma realidade…

flw!

Esses assuntos que vc citou são comuns de cair na prova. Inclusive, pode até cair no meio de objetivos relacionados a outros assuntos. Se vc não estudar isso, pode acabar errando uma questão de um assunto q vc ja sabe por vir tudo misturado.

[]'s

ahh isso to ligado… pq tinha uma questao lá sobre Excecões so q ela testava escopo de variaveis onde ela chamada a uma variavel que foi declarada dentro de um bloco… tipo assim:

void metodo() throws Exception{
float f = 14.0;
throw new Exception();
}
try{
metodo();
}
catch(Exception e ){
System.out.println(f);
}

o codigo era assim… so tinha esse treço perguntano a saida… se rolasse a exceção…

:smiley:

LP, mas esse seu codigo aih nem compila, por dois motivos.

  1. as chaves tao fechadas em ordem errada (vc fechou o metodo() e o try/catch ta fora de qualquer metodo)
  2. supondo que as chaves estivessem fechadas corretamente, daria erro de compilação dizendo que nada que está a pós a linha “throw new Exception()” vai ser executado… algo como “unreachable code”.

E em relação ao escopo da variável f, ela é perfeitamente acessível no catch, pois foi declarada fora de bloco try… não daria erro por causa disso.

void metodo() throws Exception{   
float f = 14.0;   
throw new Exception();   
}   //fim do metodo
try{   
metodo();   
}   //fim do bloco try
catch(Exception e ){   
System.out.println(f);   
}  //fim do bloco catch

aonde as chaves ta fechando errado ai?
Mas observe o seguinte que o metodo() tem um variavel local… e eu estou chamando essa variavel em outro escopo isso nao compila nao.
olhe o codigo que imagine sendo que o exame nao deu o codigo completo ele disse que o main chamava esse metodo corretamente e tinhas as declaracoes de excecoes tb verificadas corretas…

public class TEste{

void metodo() throws Exception{

float f=10.0f;
throw new Exception();
}
public static void main(String args[]){

try{
 new TEste().metodo();
}
catch(Exception e){
System.out.println(f);
}
}}

olha se compila… senao veja o que diz…

:smiley:

Sim, mas isso é uma coisa (nesse código o bloco try/catch ta solto fora de qualquer método… se vc botar isso dentro de uma classe não compila… foi isso q eu quis dizer):

void metodo() throws Exception{   
float f = 14.0;   
throw new Exception();   
}   //fim do metodo
try{   
metodo();   
}   //fim do bloco try
catch(Exception e ){   
System.out.println(f);   
}  //fim do bloco catch

E isso é outra coisa (aki vc colocou o bloco try/catch explicitamente dentro do main… aki vai deixar de compilar pq nao existe f declarado como static na classe, nem como variavel local do main):

public class TEste{

void metodo() throws Exception{

float f=10.0f;
throw new Exception();
}
public static void main(String args[]){

try{
 new TEste().metodo();
}
catch(Exception e){
System.out.println(f);
}
}}

O que eu falei q as chaves estariam fechadas no lugar errado foi assim… ao inves de ter isso:

void metodo() throws Exception{   
float f = 14.0;   
throw new Exception();   
}   //fim do metodo << essa chave!!
try{   
metodo();   
}   //fim do bloco try
catch(Exception e ){   
System.out.println(f);   
}  //fim do bloco catch

Pra esse trecho de código compilar dentro de uma classe, a chave marcada no código acima deveria ser colocar a no final de tudo, como no código abaixo:

void metodo() throws Exception{   
float f = 14.0;   
throw new Exception();   
try{   
metodo();   
}   //fim do bloco try
catch(Exception e ){   
System.out.println(f);   
}  //fim do bloco catch
}   //fim do metodo << essa chave!!

Assim as chaves estariam corretas e valem as observações que eu citei no post anterior:

[quote=RafaelVS]

  1. as chaves tao fechadas em ordem errada (vc fechou o metodo() e o try/catch ta fora de qualquer metodo)
  2. supondo que as chaves estivessem fechadas corretamente, daria erro de compilação dizendo que nada que está a pós a linha “throw new Exception()” vai ser executado… algo como “unreachable code”.

E em relação ao escopo da variável f, ela é perfeitamente acessível no catch, pois foi declarada fora de bloco try… não daria erro por causa disso.[/quote]

é isso… essa questao testava escopo…

A primeira coisa que vc deve fazer é procurar erros de todo tipo, caso vc esteja certo de que o código está correto, vc começa a analisar pra ve qual será o resultado.
As vezes vc fica tão ancioso em querer descobrir o que o código faz e acaba caindo em um erro simples de escopo.
Preste bastante atenção em variaveis locais que estão sendo chamadas em outro métodos. Esse tipo de questão é muito comum quando ele usa execption.

Referente ao whizlabs, eu estava acertando 80% quando fiz a prova. É melhor vc se preparar pro mais difícil do que ficar se baseando apenas no q vc acha que vai cair.

Eu aconselho vc cair dentro do simulado pra pegar uma base maior, porque na hora da prova bate um nervosismo tão grande que as coisas simples vc acaba ficando em dúvida, então é bom estar bem preparado.

Boa sorte.

Antes de fazer a prova eu estava tirando essa media no Whizlabs… 50 - 60… Minha nota no teste foi 73…

O Whizlab exagera um pouco nas questões, mas isso que o LPjava disse é verdade, eu perdia varias questões por me preocupar com mais complicado e esquecer o básico até elaborar uma seqüencia, Primeiro eu verificava os escopos, acesso de variáveis, se os métodos tinham suas exception tratadas, e por ai vai… para não esquecer nenhum pontos besta durante a prova.

Boa sorte…

Rapaz, coincidência ou não, eu fiz ontem o teste SCJP 5.0 e passei com 84%, nos testes do whizlabs eu ficava em torno de 68%. Bem, uma coisa é verdade, procure adquirir um padrão para resolver as questões, e, principalmente, aprenda as lógicas das questões que vc errou. O exame do whizlabs não serve apenas para medir conhecimento, mas principalmente para aprender. Nesse ponto aprendi muita coisa interessante nos testes do whizlabs que eu fazia idéia de que não cairia na prova.
Outro ponto interessante, ao contrário do que algumas pessoas dizem, vale a pena você repetir os mesmos testes do whizlabs que vc já havia feito, pois vc pode checar se reconhece novamente a lógica das questões que errou. Acredite, se errar denovo é porque o teste realmente não tem sido de muita utilidade para vc, sendo assim, repita-o até ter certeza porque um item está certo e outro errado.
Bom, meu recado é o seguinte, não esquente em errar no whizlabs, a questão é aprender com os erros, isso é que deve ser o foco.