Podem avaliar? a seguinte questão foi cobrada em uma prova de concurso:
QUESTÃO 48 – Dado o seguinte código-fonte Java (arquivo Main.java), assinale a alternativa que NÃO ilustra uma saída impressa válida para sua execução:
public class Main { classGerador extends Thread {
public static void privateint time;
main(String args[]) { publicGerador (String str, intdesloc) {
Gerador g1, g2, g3, g4; super(str);
g1 = new Gerador ("g1",0); time = (int) ((Math.random() + desloc) * 1000.0);
g2 = new Gerador ("g2",1); }
g3 = new Gerador ("g3",0); public void run() {
g4 = new Gerador ("g4",1); try { Thread.sleep(time); }
g1.start(); g2.start(); catch (Exception e) { }
g3.start(); g4.start(); System.err.print(getName()+":"+time+" ");
} }
} }
a) g1:909 g3:922 g2:1670 g4:1989
b) g3:92 g1:954 g4:1323 g2:1726
c) g1:842 g3:908 g2:1253 g4:1636
d) g3:334 g2:1266 g4:1595 g1:585
e) g1:157 g3:378 g4:1177 g2:1634
O programa não compila nem executa, criando-se simplesmente o arquivo Main.java, tanto desta forma:
public class Main { classGerador extends Thread {
public static void privateint time;
main(String args[]) { publicGerador (String str, intdesloc) {
Gerador g1, g2, g3, g4; super(str);
g1 = new Gerador ("g1",0); time = (int) ((Math.random() + desloc) * 1000.0);
g2 = new Gerador ("g2",1); }
g3 = new Gerador ("g3",0); public void run() {
g4 = new Gerador ("g4",1); try { Thread.sleep(time); }
g1.start(); g2.start(); catch (Exception e) { }
g3.start(); g4.start(); System.err.print(getName()+":"+time+" ");
} }
} }
como desta forma:
public class Main {
public static void
main(String args[]) {
Gerador g1, g2, g3, g4;
g1 = new Gerador ("g1",0);
g2 = new Gerador ("g2",1);
g3 = new Gerador ("g3",0);
g4 = new Gerador ("g4",1);
g1.start(); g2.start();
g3.start(); g4.start();
}
}
classGerador extends Thread {
privateint time;
publicGerador (String str, intdesloc) {
super(str);
time = (int) ((Math.random() + desloc) * 1000.0);
}
public void run() {
try { Thread.sleep(time); }
catch (Exception e) { }
System.err.print(getName()+":"+time+" ");
}
}
(o arquivo Main.java criado com vi em um Linux - Xubuntu 14.04).
- Consideram que a questão mereceria ser anulada por 'má-formação'?
Pergunta
paulobergo
Prezados, bom dia!
Podem avaliar? a seguinte questão foi cobrada em uma prova de concurso:
QUESTÃO 48 – Dado o seguinte código-fonte Java (arquivo Main.java), assinale a alternativa que NÃO ilustra uma saída impressa válida para sua execução:
public class Main { classGerador extends Thread {
public static void privateint time;
main(String args[]) { publicGerador (String str, intdesloc) {
Gerador g1, g2, g3, g4; super(str);
g1 = new Gerador ("g1",0); time = (int) ((Math.random() + desloc) * 1000.0);
g2 = new Gerador ("g2",1); }
g3 = new Gerador ("g3",0); public void run() {
g4 = new Gerador ("g4",1); try { Thread.sleep(time); }
g1.start(); g2.start(); catch (Exception e) { }
g3.start(); g4.start(); System.err.print(getName()+":"+time+" ");
} }
} }
a) g1:909 g3:922 g2:1670 g4:1989
b) g3:92 g1:954 g4:1323 g2:1726
c) g1:842 g3:908 g2:1253 g4:1636
d) g3:334 g2:1266 g4:1595 g1:585
e) g1:157 g3:378 g4:1177 g2:1634
O programa não compila nem executa, criando-se simplesmente o arquivo Main.java, tanto desta forma:
public class Main { classGerador extends Thread { public static void privateint time; main(String args[]) { publicGerador (String str, intdesloc) { Gerador g1, g2, g3, g4; super(str); g1 = new Gerador ("g1",0); time = (int) ((Math.random() + desloc) * 1000.0); g2 = new Gerador ("g2",1); } g3 = new Gerador ("g3",0); public void run() { g4 = new Gerador ("g4",1); try { Thread.sleep(time); } g1.start(); g2.start(); catch (Exception e) { } g3.start(); g4.start(); System.err.print(getName()+":"+time+" "); } } } }
como desta forma:
public class Main { public static void main(String args[]) { Gerador g1, g2, g3, g4; g1 = new Gerador ("g1",0); g2 = new Gerador ("g2",1); g3 = new Gerador ("g3",0); g4 = new Gerador ("g4",1); g1.start(); g2.start(); g3.start(); g4.start(); } } classGerador extends Thread { privateint time; publicGerador (String str, intdesloc) { super(str); time = (int) ((Math.random() + desloc) * 1000.0); } public void run() { try { Thread.sleep(time); } catch (Exception e) { } System.err.print(getName()+":"+time+" "); } }
(o arquivo Main.java criado com vi em um Linux - Xubuntu 14.04).
- Consideram que a questão mereceria ser anulada por 'má-formação'?
- A letra (d) foi a resposta correta. Por que?
Obrigado por qualquer ajuda!
Abraços
PVictor
Editado por paulobergoLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.