Questão nº 37
Questão de Tecnologia da Informação · FCC TRT17 2022 (nº 37)
Considere o programa em Java abaixo.
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] v;
int i, max=10;
Random gerador = new Random();
**I**
System.out.println("Vetor randômico:\n");
i=0;
while (i < max) {
**II**
System.out.println("v["+i+"]= " + v[i]);
++i;
}
}
}
Em condições ideais, para que sejam gerados números randômicos entre 1 e 100 e estes sejam inseridos nas max posições do vetor v, as lacunas I e II devem ser preenchidas, correta e respectivamente, por:
- A`int v = new v[max]; e v[i]= 1+ gerador.rand(100);`
- B
v = new int[max]; e v[i]= ++gerador.nextRand(100); - C`int v[] = new v[max]; e v[i]= gerador.rand(100);`
- D`v[] = new int[max]; e v[i]= gerador.nextInt(100);`
- E`v = new int[max]; e v[i]= 1+ gerador.nextInt(100);` (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Em Java, para usar um vetor (uma lista de elementos do mesmo tipo), primeiro você precisa declarar ele (dizer que tipo de vetor é) e depois inicializar ele (criar o espaço na memória para os elementos). Para gerar números aleatórios (randômicos) em um intervalo específico, usamos a classe Random e ajustamos o resultado para o intervalo desejado.
- (A) Incorreta: Na lacuna I,
int v = new v[max];está sintaticamente incorreto, poisvjá foi declarado comoint[]enew v[max]não é uma forma válida de criar um array. Na lacuna II,gerador.rand(100);usa um nome de método inexistente (randem vez denextInt). - (B) Incorreta: Na lacuna II,
gerador.nextRand(100);usa um nome de método inexistente (nextRandem vez denextInt). - (C) Incorreta: Na lacuna I,
int v[] = new v[max];está sintaticamente incorreto, poisvjá foi declarado comoint[]enew v[max]não é uma forma válida de criar um array. Na lacuna II,gerador.rand(100);usa um nome de método inexistente. - (D) Incorreta: Na lacuna I,
v[] = new int[max];é uma forma redundante de inicializar, poisvjá foi declarado comoint[]. O correto seria apenasv = new int[max];. Armadilha: Na lacuna II,gerador.nextInt(100);é o método correto, mas gera números de 0 a 99, não de 1 a 100, o que é um erro comum de intervalo. - (E) Correta: Na lacuna I,
v = new int[max];é a forma correta de inicializar o vetorvcommaxposições. Na lacuna II,1+ gerador.nextInt(100);é a forma correta de gerar números aleatórios entre 1 e 100 (inclusive), poisgerador.nextInt(100)gera de 0 a 99, e adicionar 1 desloca o intervalo para 1 a 100.
Fonte: FCC TRT17 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.