Baixe o app para aproveitar ainda mais
Prévia do material em texto
ATIVIDADE 3 - ADS - PROGRAMAÇÃO II - 2019C2 Período:09/09/2019 08:00 a 20/09/2019 23:59 (Horário de Brasília) Status:ENCERRADO Nota máxima:0,50 Gabarito:Gabarito será liberado no dia 21/09/2019 00:00 (Horário de Brasília) Nota obtida:0,45 1ª QUESTÃO Conjuntos e listas são estruturas de dados muito utilizadas na programação, por isso essas estruturas, entre outras, já vêm implementadas na linguagem Java, a partir da interface Collections. As estruturas possuem diferenças entre si, até mesmo diferentes implementações, mas podem ser utilizadas com métodos que possuem em comum, sempre que possível, para facilitar a manipulação. Considerando o texto acima, analise o trecho código abaixo. List<String> listaNomes = new ArrayList<String>(); listaNomes.add("Maria"); listaNomes.add("João"); listaNomes.add("José"); listaNomes.add("Adriano"); listaNomes.add("Willian"); listaNomes.add("Adriano"); listaNomes.add("Patrícia"); String saida = ""; Set<String> conj = new TreeSet<String>(listaNomes); saida += "Conjunto: "+conj; Assinale a alternativa que contém a saída correta do conjunto "conj". ALTERNATIVAS 2ª QUESTÃO As entidades do JPA são anotadas para que o JPA consiga converter uma entidade em uma tabela no banco de dados. Quando existem relacionamentos entre tabelas, é possível dizer para o JPA utilizando as anotações: @OneToOne, @OneToMany, @ManyToOne e @ManyToMany. O relacionamento mais comum é o @ManyToOne, quando vários objetos da classe anotada se relacionam com um objeto da classe que é atributo. Observe o código abaixo e suponha que as tabelas ainda não foram criadas. Adriano, José, João, Maria, P atrícia, Willian Maria, João, José, Adriano, Willian, P atrícia Adriano, Adriano, José, João, Maria, P atrícia, Willian Maria, João, José, Adriano, Willian, Adriano, P atrícia Willian, P atrícia, Maria, João, José, Adriano, Adriano Desta forma, considerando o código exposto, podemos afirmar que: ALTERNATIVAS Será criada apenas uma tabela contendo as duas entidades. Será criada uma tabela para cada entidade e mais uma tabela para a chave estrangeira. Será criada uma tabela para cada entidade. As tabelas não possuem relacionamento entre si. Será criada uma tabela para cada entidade. Existirá uma chave estrangeira na tabela Passageiro apontando para a tabela Avião. Será criada uma tabela para cada entidade. Existirá uma chave estrangeira na tabela Avião apontando para a tabela Passageiro. 3ª QUESTÃO Para trabalhar com interfaces gráficas com o usuário, precisamos de bibliotecas que nos possibilitem isso. Em Java, a biblioteca Swing pode nos fornecer diversos recursos de interface gráfica que precisamos, como formulários, botões, menus, etc. Considerando o texto acima, avalie as afirmações abaixo. I – Swing é o nome da única interface gráfica para usuário (GUI) em Java. II – Swing é uma das interfaces gráficas para usuário (GUIs) em Java. III – Swing é o nome da interface gráfica para usuário (GUI) padrão em Java. É correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. III, apenas. I e II, apenas. II e III, apenas. 4ª QUESTÃO Ao utilizar JDBC para persistência de dados, o desenvolvedor pode escrever suas próprias consultas. Como uma forma de proteger as consultas de um sistema, há um objeto chamado PreparedStatement para que as consultas sejam "preparadas" de acordo com um determinado formato. Considerando o texto acima, assinale a alternativa correta. ALTERNATIVAS O objeto PreparedStatement é utilizado apenas para consultas no banco de dados. O objeto PreparedStatement é utilizado apenas para alterações no banco de dados. As instruções SQL são passadas pelo PreparedStatement quando se faz conversões de bases de dados. Bancos de dados locais não precisam de PreparedStatement por não trafegarem em rede as instruções SQL. O objetivo do PreparedStatement é preparar uma instrução SQL para receber parâmetros de forma segura, definindo os tipos de cada parâmetro. 5ª QUESTÃO Em uma escola municipal, a professora solicitou que seus 10 alunos se colocassem em fila indiana. A partir daí ela foi distribuindo para eles, começando do primeiro da fila até o último, uma fita rosa. Porém, essa fita foi entregue apenas às meninas, os meninos não receberam a fita. Observando o trecho de código abaixo, podemos notar que existe uma classe "Pessoa" e, logo abaixo, um método que retorna a quantidade de meninas que receberam a fita rosa. Analise o código a seguir: Obs. O atributo "genero" recebe 'M' ou 'F'. Baseando-se na história da escola municipal mencionada e entendendo que o método "contarMeninas" recebe um array de pessoas, selecione a alternativa que contenha o código que irá proporcionar o retorno correto da quantidade de meninas do array. ALTERNATIVAS 6ª QUESTÃO A linguagem Java possui diferentes APIs para persistência de dados. Quando utilizamos JPA, é preciso definir de forma correta as anotações para que os dados sejam gravados e recuperados corretamente. Considerando o texto acima, avalie as afirmações abaixo. I – A anotação @Entity define que o atributo marcado com a anotação será um identificador de entidade, sendo seu valor gerado e incrementado automaticamente. II – A anotação @Table define em qual tabela os dados da classe serão armazenados, mas só precisa ser utilizada se o nome da classe for diferente do nome da tabela. III – A anotação @Column é utilizada para atributos, para definir quais atributos representam colunas da tabela no banco de dados. IV – A anotação @Primary define um atributo como chave primária na tabela do banco de dados. É correto o que se afirma em: ALTERNATIVAS I e II, apenas. II e III, apenas. III e IV, apenas. I, II e III, apenas. II, III e IV, apenas. 7ª QUESTÃO Classes abstratas em Java são classes que não podem ser instanciadas. Elas existem para representar uma ideia, um conceito de objeto. É muito utilizada quando se usa a generalização, onde reunimos todos os membros em comum de várias classes concretas. Por ser uma classe que não pode ser instanciada, uma classe abstrata não pode receber a instância de uma de suas subclasses. Considerando o texto acima, podemos afirmar que: ALTERNATIVAS O texto é 100% correto. O texto é 100% incorreto, pois classes abstratas não condizem com o que foi relatado. O texto está parcialmente correto, pois classes abstratas não representam um conceito. O texto está parcialmente correto, pois classes abstratas podem ser instanciadas quando herdam de uma classe concreta. O texto está parcialmente correto, pois classes abstratas podem sim receber instâncias de suas subclasses, desde que sejam classes concretas. 8ª QUESTÃO Programar não é uma tarefa fácil, mesmo porque, precisamos contar com a boa vontade do usuário para manipular o sistema de maneira correta. Porém, nem sempre o usuário utiliza o software da forma correta e acaba efetuando operações que podem causar problemas e até mesmo travar o software. Para evitarmos que problemas indesejáveis travem a aplicação ou deixe o usuário sem saber o que está acontecendo, é uma boa prática tratarmos as exceções que possam vir a ocorrer na aplicação. Sobre o assunto, observe o código abaixo : Considerando o texto e o código acima, a alternativa que apresenta o nome correto da exceção que será lançada, caso o código seja executado, é: ALTERNATIVAS NullPointerException. ArrayfBoundsException. IncompatibleTypesException. ArrayOutOfBoundsException. ArrayIndexOutOfBoundsException. 9ª QUESTÃO As interfaces definem somente métodos abstratos que deverão ser implementados pelas classes. Cada interface pode representar funcionalidades distintas, porém podem existir classes que consigam realizar várias funcionalidades. Estas classes podem implementar várias interfaces e serem utilizadas em diversos locais. Observe o código abaixo: Considerando o texto e o código acima, podemos afirmar que alternativa correta é: ALTERNATIVAS Se as anotações @Overrides fossem retiradas não teria erros, porémos métodos não seriam mais sobrescritos. A classe CaniveteSuico possui um erro. Não é possível implementar várias interfaces, pois Java não possui herança múltipla. A classe CaniveteSuico não é obrigada a implementar os 3 métodos. Ela poderia implementar somente 2 métodos e deixar o terceiro para alguma subclasse dela implementar. Apesar da classe CaniveteSuico implementar 3 interfaces, ela deverá escolher qual será a interface principal. Esta classe poderá ser utilizada somente nos locais de sua interface principal. O uso das interfaces aumenta a flexibilidade do código. Exemplo: se um método recebe uma Tesoura como parâmetro, eu posso passar um objeto de CaniveteSuico ou qualquer outra classe que implemente a interface Tesoura. 10ª QUESTÃO Podemos criar telas com uma aparência agradável, utilizando o Swing. O Swing deixa escolher um tema para a aparência das telas. O Java vem com vários temas. Observe a tela e o código. Considerando o código exposto, a alternativa que mostra o que será exibido na tela caso o botão seja clicado é: ALTERNATIVAS "Olá Maria" "Olá senhora" "Olá senhora Maria" "Olá senhor Maria" "Por favor digite um nome"
Compartilhar