Pular para o conteúdo principal

Questão de Programação — Java — CESGRANRIO 2024

ProgramaçãoJava
Código
cg021416
Banca
CESGRANRIO
Órgão
CNU
Ano
2024
Nível
Superior
Cargo
Bloco 2 - Tecnologia, Dados e Informação - tarde
Um programador criou um método Java que recebe como parâmetro um inteiro maior ou igual a zero e retorna um inteiro cujos dígitos têm suas posições invertidas em relação ao inteiro recebido como parâmetro, conforme os exemplos apresentados a seguir:• Caso essa função receba o inteiro 1234 como parâmetro, ela retornará o inteiro 4321;• Caso essa função receba o inteiro 1000 como parâmetro, ela retornará o inteiro 1;• Caso essa função receba o inteiro 8 como parâmetro, ela retornará o inteiro 8.Qual método executa o que foi especificado?
  1. Aimport java.util.Stack; // presente no arquivopublic static int inverte(int num) {Stack<Integer> pilha = new Stack<Integer>();do {int resto = num % 10;num /= 10;pilha.push(resto);} while(num > 0);for (int i=1; ! pilha.isEmpty(); i*=10)num += pilha.pop() * i;return num;}
  2. Bimport java.util.LinkedList; // presente no arquivoimport java.util.Queue; // presente no arquivopublic static int inverte(int num) {Queue<Integer> fila = new LinkedList<Integer>();for ( ; num > 0; ) {int resto = num % 10;num /= 10;fila.offer(resto);}for (int i=1; ! fila.isEmpty(); i*=10)num += fila.poll() * i;return num;}
  3. Cimport java.util.LinkedList; // presente no arquivoimport java.util.Queue; // presente no arquivopublic static int inverte(int num) {Queue<Integer> fila = new LinkedList<Integer>();do {int resto = num % 10;num /= 10;fila.offer(num);} while(num > 0);for (int i=1; ! fila.isEmpty(); i*=10)num += fila.poll() * i;return num;}
  4. Dimport java.util.LinkedList; // presente no arquivoimport java.util.Queue; // presente no arquivopublic static int inverte(int num) {Queue<Integer> fila = new LinkedList<Integer>();while (num > 0) {int resto = num % 10;num /= 10;fila.offer(resto);}for (int i=1; ! fila.isEmpty(); i*=10)num += fila.poll() * i;return num;}
  5. Eimport java.util.Stack; // presente no arquivopublic static int inverte(int num) {Stack<Integer> pilha = new Stack<Integer>();while(num > 0) {int resto = num % 10;num /= 10;pilha.push(num);}for (int i=1; ! pilha.isEmpty(); i*=10)num += pilha.pop() * i;return num;}
Revelar gabarito e comentário

GabaritoA — import java.util.Stack; // presente no arquivo public static int inverte(int num) { Stack<Integer> pilha = new Stack<Integer>(); do { int resto = num % 10; num /= 10; pilha.push(resto); } while(num > 0); for (int i=1; ! pilha.isEmpty(); i*=10) num += pilha.pop() * i; return num; }

Link permanente: /questoes/cg021416