Capítulo 5 Introdução à API do Java Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Objetivos do Capítulo Analisar a composição e a organização da API do Java. Demonstrar o uso de diversos métodos da classe java.lang.String aplicáveis a operações de análise e manipulação de textos. Apresentar a classe java.lang.Math e destacar alguns métodos utilizados para a realização de operações matemáticas fundamentais. Analisar as classes que servem como invólucro para os tipos primitivos. Explorar os métodos da classe java.util.Random que permitem a geração aleatória de diversos tipos de dados. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Composição API = Applications Programming Interface API do Java Classes Interfaces Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Composição Composição de uma classe Construtores: instanciar objetos Atributos: armazenar dados Métodos: prestar serviços Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Composição Finalidade: Cada classe ou interface tem um fim Exemplos: java.lang.String: representação e manipulação de textos java.lang.Math: realização de operações matemáticas diversas javax.swing.JOptionPane: geração de diálogos gráficos javax.swing.JFrame: construção de janelas javax.swing.JMenuBar: construção de barras de menus javax.swing.JButton: representa um botão pressionável java.sql.Connection: estabelecer conexão com banco de dados java.sql.Statement: envio de instruções SQL a bancos de dados java.sql.ResultSet: representa um conjunto de registros recuperados Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Composição Hierarquia As classes formam uma hierarquia cuja raiz é java.lang.Object As interfaces formam uma hierarquia distinta Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Organização Pacote Agrupamento de classes e interfaces com finalidades similares Um pacote pode se dividir em diversos pacotes A API do Java está organizada em uma estrutura de pacotes Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Organização Os arquivos JAR (Java ARchive) Arquivos compactados Compatíveis com o formato ZIP Utilizados para compactar APIs do Java Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Organização O conteúdo do arquivo rt.jar Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra O Pacote java Divide-se em 13 pacotes: Pacote Descrição applet Provê as classes necessárias para criar um applet. awt Contém classes e interfaces utilizadas para desenhar gráficos e imagens e construir GUIs. beans Contém classes para o desenvolvimento de componentes baseados na arquitetura JavaBeans. Provê entrada e saída para o sistema através de fluxo, serialização e arquivos de sistema. io lang math Provê classes que são fundamentais ao desígnio de Java enquanto linguagem de programação. Provê classes para executar aritmética de precisão arbitrária. net Provê classes para implementação de aplicações de redes. nio rmi Define “buffers”, que são recipientes para dados e provêem uma prévia dos outros pacotes NIO. Provê classes e interfaces para implementar a invocação remota de métodos. security Provê classes e interfaces para implementar procedimentos de segurança de informações. sql Provê classes e interfaces para acessar e processar dados de em uma fonte de dados. text util Provê classes e interfaces para controlar texto, datas, números e mensagens. Contém a estrutura de coleções, modelo de eventos, facilidades com data e hora, internacionalização e classes de utilidades diversas. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra O Pacote javax Divide-se em 20 pacotes Exemplos: Pacote Descrição accessibility Define um contrato entre componentes de interface do usuário e uma tecnologia que provê acesso a esses componentes. imageio Pacote principal de entrada e saída de imagem. naming Contém classes e interfaces para nomear acesso a serviços. print Contém as classes e interfaces principais para o serviço de impressão de Java. rmi security Contém classes e interfaces adicionais para a implementação de invocação remota de métodos. Provê uma estrutura para autenticação e autorização através de certificados e chaves públicas. sound Provê classes e interfaces para captura, processamento e reprodução de audio. sql Provê acesso a fonte de dados do lado do servidor. swing Provê um conjunto de componentes “leves” para a construção de GUIs que, no máximo grau possível, trabalham igualmente em todas as plataformas. transaction Contém classes de exceção lançadas pelo Object Request Broker (ORB). xml Provê classes que permitem o processamento de documentos XML. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Texto: qualquer seqüência de caracteres Representação em Java: String Rui Rossi dos Santos Localização java.lang.String Qualificadores final Superclasse java.lang.Object Implementações Interfaces CharSequence, Comparable e Serializable Descrição Classe que representa sequências de caracteres Programação de Computadores em Java Editora NovaTerra Operações com Textos Construtores da classe String Assinatura Descrição String( ) Cria uma string vazia String(char[ ] value) Cria uma string a partir do vetor de caracteres representado pelo parâmetro value String(String original) Cria uma string contendo a mesma seqüência de caracteres do parâmetro original Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Formas de instanciação da classe String Criação de String vazia: String st = new String(); Sem o construtor: String st = “Java”; Utilizando outra String: String st = new String(“Java”); Utilizando um vetor de bytes: char[] vetor = {‘J’,’a’,’v’,’a’}; String st = new String(vetor); Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos O operador de concatenação: + String sujeito = “Sócrates”; String adjetivo = “filósofo”; System.out.println(sujeito + “ foi um ” + adjetivo); Conversão de tipos primitivos em String: Método: valueOf( ) int it = 5; String st = String.valueOf(it); Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Métodos da classe String Assinatura Descrição char charAt(int index) Retorna o caractere contido na posição especificada pelo parâmetro index. int compareTo(String anotherString) Compara o texto de duas strings e retorna um número inteiro que define a ordem destes textos. Zero significa que os textos são iguais, um número positivo indica que esta string é posterior ao seu argumento e um número negativo indica que esta string é anterior ao argumento. int compareToIgnoreCase(String anotherString) Realiza a mesma tarefa que o método compareTo( ). A única diferença é que ignora diferenças entre caracteres minúsculos e maiúsculos. boolean endsWith(String suffix) Testa se a string corrente termina com o sufixo especificado pelo parâmetro suffix. boolean equals(Object anObject) Compara a string corrente com o objeto especificado pelo parâmetro anObject. boolean equalsIgnoreCase(String anotherString) Compara a string corrente com outra string sem levar em conta a distinção entre caracteres maiúsculos e minúsculos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Métodos da classe String Assinatura Descrição int indexOf(String str) Retorna a posição inicial, na string corrente, da substring especificada pelo parâmetro str. Se a substring não for encontrada, o retorno é –1. int lastIndexOf(String str) Retorna a posição inicial, na string corrente, da última ocorrência da substring especificada pelo parâmetro str. Se a substring não for encontrada, o retorno é –1. int length( ) Retorna o número de caracteres contidos na string corrente.uma string resultante da substituição, na string Retorna String replaceAll(String regex, String replacement) corrente, de cada ocorrência da substring especificada no parâmetro regex pela substring especificada no parâmetro replacement. boolean startsWith(String prefix) Testa se a string corrente começa com o prefixo especificado pelo parâmetro prefix. String substring(int beginIndex, int endIndex) Retorna uma nova string com a seqüência de caracteres que se encontra entre as posições especificadas pelos parâmetros beginIndex e endIndex. Retorna uma nova string contendo todos os caracteres da string atual convertidos para minúsculo. String toLowerCase( ) String toUpperCase( ) Rui Rossi dos Santos Retorna uma nova string contendo todos os caracteres da string atual convertidos para maiúsculo. Programação de Computadores em Java Editora NovaTerra Operações com Textos Código 5.1 – AnalisadorDeTexto.java. 1 import java.io.PrintStream; 2 import java.util.Scanner; 3 4 public class AnalisadorDeTexto { 5 public static void main(String[] args) { 6 String artista = ""; 7 PrintStream saida = System.out; 8 9 Scanner scan = new Scanner(System.in); 10 saida.print("\nInforme o nome de um artista:\t"); 11 artista = scan.nextLine(); 12 13 saida.println("\nAnálise do nome:\t\t" + artista); 14 15 saida.print("Conversão para maiúsculo:\t"); 16 saida.println(artista.toUpperCase()); 17 18 saida.print("Conversão para minúsculo:\t"); 19 saida.println(artista.toLowerCase()); 20 21 saida.print("Substituindo o espaco por '_':\t"); 22 saida.println(artista.replaceAll(" ","_")); 23 Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Código 5.1 – AnalisadorDeTexto.java. 24 saida.print("Quantidade de caracteres:\t"); 25 saida.println(artista.length()); 26 27 saida.print("A primeira letra:\t\t"); 28 saida.println(artista.charAt(0)); 29 30 saida.print("Posição da primeira letra 'a':\t"); 31 saida.println(artista.indexOf("a")); 32 33 saida.print("Posição da última letra 'a':\t"); 34 saida.println(artista.lastIndexOf("a")); 35 36 saida.print("O primeiro nome:\t\t"); 37 saida.println(artista.substring(0,artista.indexOf(" "))); 38 39 saida.print("O último sobrenome:\t\t"); 40 saida.println(artista.substring(artista.lastIndexOf(" ") + 1, 41 artista.length())); 42 } 43 } Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Código 5.2 – ComparaTexto.java. 1 import java.io.PrintStream; 2 import java.util.Scanner; 3 4 public class ComparaTexto { 5 public static void main(String[] args) { 6 PrintStream saida = System.out; 7 Scanner scan = new Scanner(System.in); 8 9 saida.print("\nInforme um texto:\t"); 10 String t1 = scan.nextLine(); 11 12 saida.print("Informe outro texto:\t"); 13 String t2 = scan.nextLine(); 14 15 saida.println("\nComparações:"); 16 saida.println("Igualdade (C.S.):\t" + (t1.equals(t2))); 17 saida.println("Igualdade:\t\t" + (t1.equalsIgnoreCase(t2))); 18 saida.println("Ordem (C.S.):\t\t" + (t1.compareTo(t2))); 19 saida.println("Ordem:\t\t\t" + (t1.compareToIgnoreCase(t2))); 20 saida.println(); 21 } 22 } Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações com Textos Código 5.2 – ComparaTexto.java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações Matemáticas Operações básicas são realizadas com operadores Outras operações são suportadas pela classe Math Rui Rossi dos Santos Localização java.lang.Math Superclasse java.lang.Object Descrição Contém métodos para realização de operações matemáticas Programação de Computadores em Java Editora NovaTerra Operações Matemáticas Atributos da classe Math E: a base de logaritmos naturais (2,718281828459045) PI: a razão entre a circunferência de um círculo e seu diâmetro (3,141592653589793) Math.E Math.PI Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações Matemáticas Métodos estáticos da classe Math Math.sqrt(81); Math.random( ); Assinatura Descrição double pow(double a, double b) double sqrt(double a) double random( ) double ceil(double a) double floor(double a) double rint(double a) long round(double a) Eleva um número a determinada potência Calcula a raiz quadrada de um número Retorna um número aleatório entre 0 e 1 Retorna o próximo valor double que seja um número matemático inteiro Retorna o valor double anterior que seja um número matemático inteiro Arredonda o número informado e retorna-o na forma de um double Arredonda o número informado e retorna-o na forma de um long Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações Matemáticas Código 5.3 – Matematica.java. 1 public class Matematica { 2 public static void main(String[] args) { 3 System.out.println(); 4 5 System.out.println("Valor de E:\t" + Math.E); 6 System.out.println("Valor de PI:\t" + Math.PI); 7 8 System.out.println("\nNúmero aleatório:\t" + Math.random()); 9 System.out.println("Raiz quadrada:\t\t" + Math.sqrt(16)); 10 System.out.println("Potência:\t\t" + Math.pow(2,4)); 11 12 System.out.println("\nPróximo inteiro:\t" + Math.ceil(4.1)); 13 System.out.println("Inteiro anterior:\t" + Math.floor(4.9)); 14 15 System.out.println("\nArredondamento:"); 16 System.out.println("Com rint( ):\t" + Math.rint(4.6)); 17 System.out.println("Com round( ):\t" + Math.round(4.6)); 18 19 System.out.println(); 20 } 21 } Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Operações Matemáticas Código 5.3 – Matematica.java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Invólucro: envoltório, pacote ou cápsula Finalidade: representar um dado de tipo primitivo na forma de um objeto. Vantagem: Métodos úteis para manipulação do dado Rui Rossi dos Santos Tipo primitivo Classe invólucro boolean java.lang.Boolean char java.lang.Character byte java.lang.Byte short java.lang.Short int java.lang.Integer long java.lang.Long float java.lang.Float double java.lang.Double Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.4 – Involucro.java. 1 import java.io.PrintStream; 2 3 public class Involucro { 4 public static void main(String[] args) { 5 PrintStream saida = System.out; 6 7 Boolean bl1 = new Boolean(true); 8 Boolean bl2 = new Boolean("false"); 9 Character ch = new Character('A'); 10 Byte bt1 = new Byte((byte)127); 11 Byte bt2 = new Byte("-128"); 12 Short st1 = new Short((short)32767); 13 Short st2 = new Short("-32768"); 14 Integer it1 = new Integer(2147483647); 15 Integer it2 = new Integer("-2147483648"); 16 Long lg1 = new Long(9223372036854775807L); 17 Long lg2 = new Long("-9223372036854775808"); 18 Float fl1 = new Float(3.4028E+38f); 19 Float fl2 = new Float("-3.4028E+38"); 20 Double db1 = new Double(1.7976E+308); 21 Double db2 = new Double("-1.7976E+308"); 22 Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.4 – Involucro.java. 23 saida.println("bl1 =\t" 24 saida.println("bl2 =\t" 25 saida.println("ch =\t" 26 saida.println("bt1 =\t" 27 saida.println("bt2 =\t" 28 saida.println("st1 =\t" 29 saida.println("st2 =\t" 30 saida.println("it1 =\t" 31 saida.println("it2 =\t" 32 saida.println("lg1 =\t" 33 saida.println("lg2 =\t" 34 saida.println("fl1 =\t" 35 saida.println("fl2 =\t" 36 saida.println("db1 =\t" 37 saida.println("db2 =\t" 38 } 39 } Rui Rossi dos Santos + + + + + + + + + + + + + + + bl1.booleanValue()); bl2.booleanValue()); ch.charValue()); bt1.byteValue()); bt2.byteValue()); st1.shortValue()); st2.shortValue()); it1.intValue()); it2.intValue()); lg1.longValue()); lg2.longValue()); fl1.floatValue()); fl2.floatValue()); db1.doubleValue()); db2.doubleValue()); Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.4 – Involucro.java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.5 – InvolucroNumeros.java. 1 import java.io.PrintStream; 2 3 public class InvolucroNumeros { 4 public static void main(String[] args) { 5 PrintStream saida = System.out; 6 7 byte bt1 = Byte.parseByte("127"); 8 short st1 = Short.parseShort("32767"); 9 int it1 = Integer.parseInt("1234567890"); 10 long lg1 = Long.parseLong("123456789012"); 11 float fl1 = Float.parseFloat("3.1234"); 12 double db1 = Double.parseDouble("0.1234567"); 13 14 saida.println("Conteúdo das variáveis:"); 15 saida.println("bt1 =\t" + bt1); 16 saida.println("st1 =\t" + st1); 17 saida.println("it1 =\t" + it1); 18 saida.println("lg1 =\t" + lg1); 19 saida.println("fl1 =\t" + fl1); 20 saida.println("db1 =\t" + db1); 21 22 Byte bt2 = Byte.valueOf("127"); 23 Short st2 = Short.valueOf("32767"); 24 Integer it2 = Integer.valueOf("1234567890"); 25 Long lg2 = Long.valueOf("123456789012"); 26 Float fl2 = Float.valueOf("3.1234"); 27 Double db2 = Double.valueOf("0.1234567"); Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.5 – InvolucroNumeros.java. 28 29 saida.println("\nConteúdo dos objetos:"); 30 saida.println("bt2 =\t" + bt2.toString()); 31 saida.println("st2 =\t" + st2.toString()); 32 saida.println("it2 =\t" + it2.toString()); 33 saida.println("lg2 =\t" + lg2.toString()); 34 saida.println("fl2 =\t" + fl2.toString()); 35 saida.println("db2 =\t" + db2.toString()); 36 37 bt1 = bt2.byteValue(); 38 st1 = bt2.shortValue(); 39 it1 = bt2.intValue(); 40 lg1 = bt2.longValue(); 41 fl1 = bt2.floatValue(); 42 db1 = bt2.doubleValue(); 43 44 saida.println("\nConteúdo das variáveis:"); 45 saida.println("bt1 =\t" + bt1); 46 saida.println("st1 =\t" + st1); 47 saida.println("it1 =\t" + it1); 48 saida.println("lg1 =\t" + lg1); 49 saida.println("fl1 =\t" + fl1); 50 saida.println("db1 =\t" + db1); 51 } 52 } Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.5 – InvolucroNumeros.java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.6 – Caractere.java. 1 import java.io.PrintStream; 2 3 public class Caractere { 4 public static void main(String[] args) { 5 PrintStream saida = System.out; 6 7 saida.println("\nCódigos de caracteres:"); 8 saida.println("A =\t" + Character.getNumericValue('A')); 9 saida.println("B =\t" + Character.getNumericValue('B')); 10 saida.println("C =\t" + Character.getNumericValue('C')); 11 12 saida.println("\nTestes diversos:\n"); 13 14 saida.print("\"5\" é um digito?\t\t"); 15 saida.println(Character.isDigit('5')); 16 saida.print("\"5\" é uma letra?\t\t"); 17 saida.println(Character.isLetter('5')); 18 saida.print("\"5\" é um digito ou letra?\t"); 19 saida.println(Character.isLetterOrDigit('5')); 20 saida.print("\"-\" é um espaço em branco?\t"); 21 saida.println(Character.isWhitespace('-')); 22 Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Invólucros Para Tipos Primitivos Código 5.6 – Caractere.java. 23 saida.print("\"A\" é uma letra minúscula?\t"); 24 saida.println(Character.isLowerCase('A')); 25 saida.print("\"A\" é uma letra maiúscula?\t"); 26 saida.println(Character.isUpperCase('A')); 27 28 saida.print("\nConversão de \"A\" para minúsculo:\t"); 29 saida.println(Character.toLowerCase('A')); 30 saida.print("Conversão de \"b\" para maiúsculo:\t"); 31 saida.println(Character.toUpperCase('b')); 32 } 33 } Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Valores Aleatórios • Classe: java.util.Random • Finalidade: gerar fluxos de dados aleatórios. Assinatura Descrição boolean nextBoolean( ) double nextDouble( ) float nextFloat( ) int nextInt( ) int nextInt(int n) long nextLong( ) Retorna um valor booleano aleatório Retorna um valor aleatório entre 0,0 e 1,0 como um tipo double. Retorna um valor aleatório entre 0,0 e 1,0 como um tipo float. Retorna um número inteiro aleatório. Retorna um número inteiro aleatório entre 0 e o valor do parâmetro n. Retorna um número inteiro longo aleatório. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Valores Aleatórios Código 5.7 – ValorAleatorio.java. 1 import java.io.PrintStream; 2 import java.util.Random; 3 4 public class ValorAleatorio { 5 public static void main(String[] args) 6 PrintStream saida = System.out; 7 Random acaso = new Random(); 8 9 saida.println("\nTipo booleano:\t\t" 10 saida.println("Qualquer inteiro:\t" 11 saida.println("Inteiro de 0 a 99:\t" 12 saida.println("Inteiro longo:\t\t" 13 saida.println("Tipo float:\t\t" 14 saida.println("Tipo double:\t\t" 15 } 16 } Rui Rossi dos Santos { + + + + + + acaso.nextBoolean()); acaso.nextInt()); acaso.nextInt(100)); acaso.nextLong()); acaso.nextFloat()); acaso.nextDouble()); Programação de Computadores em Java Editora NovaTerra Exercício 1 Crie um novo aplicativo, chamado Exercicio0501, que solicite os oito dígitos do CEP do usuário e que insira o hífen no local adequado. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 2 Crie um novo aplicativo, chamado Exercicio0502, que solicite o CEP do usuário no formato 99999-999 e que retire o hífen do mesmo. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 3 Crie um novo aplicativo, chamado Exercicio0503, que solicite os onze dígitos do CPF do usuário e que insira os pontos e o hífen nos locais adequados à sua formatação. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 4 Crie um novo aplicativo, chamado Exercicio0504, que solicite duas palavras e indique se elas são iguais. Se houver apenas diferenças entre letras maiúsculas e minúsculas, considere as palavras iguais. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 5 Crie um novo aplicativo, chamado Exercicio0505, que solicite duas palavras e indique se elas são iguais. Mesmo que a diferença entre as palavras seja somente entre letras maiúsculas e minúsculas, considere as palavras diferentes. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 6 Crie um novo aplicativo, chamado Exercicio0506, que solicite o nome completo do usuário e que informe as iniciais de seu nome e de seu primeiro sobrenome. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 7 Crie um novo aplicativo, chamado Exercicio0507, que solicite um número qualquer e que calcule a sua raiz quadrada. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 8 Crie um novo aplicativo, chamado Exercicio0508, que solicite um número e o seu expoente e que calcule o resultado desta operação. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 9 Crie um novo aplicativo, chamado Exercicio0509, que solicite o diâmetro de um círculo e que calcule o seu raio, a sua circunferência e a sua área. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. O raio de um círculo corresponde à metade de seu diâmetro. A sua circunferência pode ser calculada multiplicando-se o seu diâmetro pelo valor de π (PI). A área, por sua vez, pode ser calculada através da seguinte fórmula: A = π * R2 Onde: A = Área π = PI R = Raio Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 10 Crie um novo aplicativo, chamado Exercicio0510, que solicite um número inteiro e o utilize como limite para o sorteio de outro número inteiro. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Para realizar o sorteio do número, utilize o método Math.random( ). Não utilize a classe Random neste exercício. Se for necessário, você também pode fazer uso do método Math.round( ) para arredondar um número fracionário e convertê-lo para inteiro. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 11 Crie um novo aplicativo, chamado Exercicio0511, que solicite o nome e duas notas de um aluno e calcule sua média. As figuras abaixo ilustram as saídas que deverão ser produzidas por este aplicativo. Você deve armazenar cada uma das duas notas informadas em uma variável do tipo byte e a média final que for calculada também deverá ser armazenada em uma variável deste mesmo tipo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 12 Crie um novo aplicativo, chamado Exercicio0512, que faça o sorteio de um número inteiro situado no intervalo de 65 a 90 e que exiba o caractere que corresponde a este código no padrão Unicode. Realize o sorteio do número utilizando a classe Random. A figura abaixo ilustra as saídas que deverão ser produzidas por este aplicativo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Contato Com o autor: Rui Rossi dos Santos E-mail: [email protected] Web Site: http://www.ruirossi.pro.br Com a editora: Editora NovaTerra Telefone: (21) 2218-5314 Web Site: http://www.editoranovaterra.com.br Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra