Vespertino 1 - Desenvolva um programa em Java que receba o ano de nascimento de uma pessoa, calcule e mostre a sua idade, e também verifique e mostre se essa pessoa já tem idade para votar (16 anos ou mais) e se tem idade para obter a Carteira Nacional de Habilitação (18 anos ou mais). import javax.swing.JOptionPane; public class Questao1 { public static void main(String[] args) { String strAno = JOptionPane.showInputDialog("Digite o ano de nascimento"); int idade = 2008 - Integer.parseInt(strAno); System.out.println(idade); if (idade >= 16) System.out.println("Pode votar"); if (idade >= 18) System.out.println("Pode dirigir"); } } 2 - Faça um programa em Java que solicite ao usuário um conjunto de 10 valores inteiros e armazene os mesmos em um vetor. Utilize a classe JOptionPane para solicitar estes valores ao usuário. Em seguida faça o produto destes valores e armazene o resultado em uma variável qualquer, por fim, imprima este valor na tela. import javax.swing.JOptionPane; public class Questao2 { public static void main(String[] args) { int[] vet = new int[10]; int produtorio = 1; for (int i = 0; i < 10; i++) { String str = JOptionPane.showInputDialog("Digite valor inteiro"); vet[i] = Integer.parseInt(str); produtorio *= vet[i]; } System.out.println(produtorio); } } 3) Um certo produto custa R$ 100,00, e é concedido um desconto de 10% se a compra for acima de 10 unidades, 15% se acima de 40 unidades e 25% se acima de 100 unidades. Dada a quantidade de produtos comprados por um cliente, elaborar um programa para calcular e mostrar o valor total que deveria ser pago (sem desconto), o valor do desconto e o valor total pago (com desconto). import javax.swing.JOptionPane; public class Questao3 { public static void main(String[] args) { double valor = 100; String str = JOptionPane.showInputDialog("Digite a qtd"); int qtd = Integer.parseInt(str); double valorComDesconto = 0; double valorSemDesconto = 0; double valorDesconto = 0; if (qtd>10 && qtd<=40){ valorDesconto = valor * 0.1 * qtd; } else if(qtd > 40 && qtd<=100){ valorDesconto = valor * 0.15 * qtd; } else if(qtd>100){ valorDesconto = valor * 0.25 * qtd; } valorSemDesconto = valor * qtd; valorComDesconto = valorSemDesconto - valorDesconto; System.out.println("Valor do desconto "+ valorDesconto); System.out.println("Valor sem desconto "+ valorSemDesconto); System.out.println("Valor com desconto "+ valorComDesconto); } } 4) Pense a respeito de uma entidade do mundo real que represente um ALUNO e faça uma abstração desta entidade por meio de uma classe. Crie três atributos e dois métodos para esta classe. public class Aluno { private String nome; private double nota; private String idade; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } } 5) O exemplo abaixo mostra o uso dos Operadores de Atribuição Reduzidos. Demonstre qual será a saída da classe Exemplo. public class Exemplo { public static void main (String args[]) { int a=10, b=4; a+=5; System.out.println (a); System.out.println (a-=b); System.out.println (a); System.out.println (b*=4); System.out.println (a/=2); System.out.println (a%=2); } } 15 11 11 16 5 1 6) O que é Bytecode: a) é um superconjunto da JRE, e contém tudo o que está presente na JRE, mais ferramentas tais como compilador e depurador necessários para desenvolvimento de applets e aplicações b) é Programação de pequenos dispositivos eletrônicos como: agendas eletrônicas, telefone celular, palmtop e aparelhos eletrônicos em geral. c) É uma máquina imaginária que é implementada para emulação, em software, de uma máquina real. d) é o termo dado ao código binário gerado pelo compilador Java. Pode também ser chamado de linguagem de máquina da JVM . 7) Analise o código abaixo e marque a alternativa correta: public class X { public void main (String[] args) { System.out.println("Qual o problema com este código?"); } } a) A classe compilará corretamente. b) A instrução “System.out.println("Qual o problema com este código?");” está incorreta. c) A assinatura do método “public void main (String[] args)” está incorreta. d) Uma classe não pode ser criada com visibilidade “public”. 8) O exemplo abaixo mostra o uso dos Operadores Relacionais. Marque a alternativa que demonstre qual será a saída correta do programa. class Exemplo { public static void main (String args []) { int a= 20, b=30, c=1, d=20; System.out.println (b<a); System.out.println (a==d); System.out.println (c>b); System.out.println (a!=d); System.out.println (a<=d); System.out.println (c>=b); } } a) false, true, false, false, true, false b) 0, 1, 0, 0, 1, 0 c) 1, 0, 1, 1, 0, 1 d) true, false, true, true, false, true 9) Considerando a classe Main em linguagem Java, public class Main { public static void main(String[] args) { String a = "A"; String b = "B"; String c = "AB"; System.out.println((("A"+"B")=="AB")+","); System.out.println(("A"+"B")==c); } } Assinale a alternativa que descreve corretamente o que vai ser mostrado quando esta classe for compilada e executada. a) A classe Main irá compilar sem erros, contudo a execução não exibirá nada como saída, pois ocorrerá erro no método main. b) A execução da classe Main exibirá como saída: “false,false” c) A execução da classe Main exibirá como saída: “true,true” d) A execução da classe Main exibirá como saída: “false,true” 10) Qual o resultado apresentado na execução do programa Java abaixo? public class PreFixadoPosFixado { public static void main(String[] args) { int a = 2; int b = 4; int c = 8; int d = 10 ; System.out.println((a++ + --b) * c++ / d); } } a) 4 b) 5 c) 6 d) 7 11) Assinale o método correto para obtenção da palavra “prog” segundo a declaração da variável abaixo: String palavra = "java programação"; a) palavra.substring(5,8); b) palavra.substring(5,9); c) palavra.substring(4,8); d) palavra.substring(6,9); 12) Assinale a alternativa incorreta: a) b) c) Tipos primitivos são tipos de dados predefinidos pela linguagem. Correspondem a dados mais simples ou escalares. Quando se declara uma variável tipo referência, está se especificando que esta variável irá referenciar, ou apontar, para um objeto em vez de guardar um valor simples como no caso de um primitivo. Quando declarada uma variável tipo de instância, faz-se necessário reservar memória para o objeto por meio do operador “new”. d) Tipos primitivos suportados pela linguagem Java; boolean, char, byte, long int, short int, double, String, float. 13) Dado o código abaixo, marque a alternativa incorreta: public class TestaExcecao { public static void main(String args[]){ try{ int num1=Integer.parseInt(args[0]); int num2=Integer.parseInt(args[1]); System.out.println("Soma = " + (num1 + num2)); System.out.println("Subtração = " + (num1 - num2)); System.out.println("Multiplicação = " + (num1 * num2)); System.out.println("Divisão = " + (num1 / num2)); } catch(ArithmeticException e){ } catch(ArrayIndexOutOfBoundsException e){ } catch(NumberFormatException e){ } } } a) A primeira exceção tratada se refere a ArithmeticException, que ocorre quando um erro matemático acontece; b) Caso o usuário não forneça pelo menos dois argumentos na linha de comando, ocorre o erro ArrayIndexOutOfBoundsException ; c) A classe TestaExcecao apresenta erros de sintaxe, sendo assim não irá compilar, apresentando erros. d) A exceção NumberFormatException se refere a conversão de formatos numéricos, neste caso o erro ocorrerá caso o usuário não forneça um número inteiro válido. 14) Analise o código abaixo e marque a alternativa correspondente a saída correta do programa: public class Vetor{ public static void main(String args[]) { int[] idades = new int[5]; for (int i = 0; i < 5; i++) { if(i%2==0){ idades[i] = i * 5; } else idades[i] = i * 5; } for (int i = 0; i < 5; i++) { System.out.println(idades[i]); } } } e) f) g) h) 20 15 10 5 0 12345 0 5 10 15 20 0 5 15 30 45 15) Qual é o método utilizado para converter uma String em um número do tipo inteiro? Marque a alternativa correta: a) b) c) d) Integer.convertToInt() Integer.parseInt() Integer.intValue() Int.parseInt()