Paradigmas da Programação APROG. Classes JAVA. Nelson Freire (ISEP DEI-APROG 2013/14) 1/43



Documentos relacionados
Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Sintaxe Básica de Java Parte 1

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

Roteiro 1: Dados, variáveis, operadores e precedência

2 Orientação a objetos na prática

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

BC0505 Processamento da Informação

Programação Orientada a Objetos! Java - Fundamentos. Prof. Sérgio Almagro! sergio.ricardo.almagro@gmail.com

Utilizem a classe Aula.java da aula passada:

Programação de Computadores II TCC /Turma A 1

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Estrutura Condicional em Java

Prof. MsC Vicente Paulo de Camargo PUCGO. Conteúdo baseado no livro Lógica de programação e estrutura de dados - Java - Sandra Puga

Noções sobre Objetos e Classes

public void setdata(data d) { data = d;

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

BSI UFRPE Prof. Gustavo Callou

//Leitura de Variáveis System.out.print("Digite a temperatura atual: "); temp = leia.nextfloat();

L i n g u a g e m d e P r o g r a m a ç ã o I

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Lendo Dados do Teclado

JAVA Orientação a Objetos. Usando diálogos com JOptionPane

Introdução à linguagem

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

JSP - ORIENTADO A OBJETOS

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA II

Introdução a classes e objetos by Pearson Education do Brasil

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica

5 Caso de estudo O cartão fidelidade

A Linguagem Java. Alberto Costa Neto DComp - UFS

Algoritmos e Programação II. Sobrecarga

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Organização de programas em Java. Vanessa Braganholo

Lição 9 Trabalhando com bibliotecas de classes

UNIVERSIDADE FEDERAL DO PARANÁ

JAVA. Fabrício de Sousa

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

BC0501 Linguagens de Programação

Exercícios de Revisão Java Básico

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Conversão de Tipos e Arrays

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

INTRODUÇÃO À LINGUAGEM C++

Curso Java Starter. 1

JavaScript (ou JScript)

Tipos agregados. Tipos estruturados

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

INF 1005 Programação I

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

Classes, instâncias e métodos de acesso. prática

Java para Desktop. Classes Utilitárias I java.lang.string JSE

insfcanceof new public switch transient while byte continue extends for int null

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

LINGUAGEM ORIENTADA A OBJETOS

3 Classes e instanciação de objectos (em Java)

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

UNIVERSIDADE FEDERAL DO PARANÁ

Resumo da Matéria de Linguagem de Programação. Linguagem C

Vetores. Professor Dr Francisco Isidro Massettto

Capítulo 6. Java IO - Ficheiros

Características de Java

5. Manipulação de Strings

Algoritmos e Estruturas de Dados I

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Unidade IV: Ponteiros, Referências e Arrays

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Comando if.. else. 2. JOptionPane. showmessagedialog. showconfirmdialog. showinputdialog. Caixa de diálogo para mostrar mensagem simples

Introdução a Computação

Encapsulamento de Dados

Java Como Programar, 8/E

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 3 Desvio Condicional

Estrutura de um programa em linguagem C

Capítulo 4. Packages e interfaces

Programação Estruturada e Orientada a Objetos REVISÃO

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

AULA DE JAVA 1 - CONCEITOS BÁSICOS

Técnicas de Programação II

Arrays, Encapsulamento usando de listas de objetos,tratamento de exceções, Funções Matemáticas e Manipulação de Strings

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

Universidade Federal de Uberlândia

Aluísio Eustáquio da Silva

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Transcrição:

APROG Paradigmas da Programação Classes JAVA Nelson Freire (ISEP DEI-APROG 2013/14) 1/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 2/43

Scanner Package Introdução java.util Interesse Leitura de Dados Fontes Teclado Ficheiro de Texto Nelson Freire (ISEP DEI-APROG 2013/14) 3/43

Scanner Leitura do Teclado da Consola 1/2 Realizada Por objeto da classe Scanner // objeto = instância Código Necessário 1º Declaração de objeto da classe Scanner para ler do teclado 2º Leitura através de métodos de instância aplicados ao objeto declarado Exemplos import java.util.scanner; public class Demo_Scanner { public static void main(string[] args) { // Declaração de objeto (ou instância) para ler do teclado Scanner ler = new Scanner(System.in); } } // Leitura String nome = ler.next(); String nome = ler.nextline(); int i = ler.nextint(); long l = ler.nextlong(); double d = ler.nextdouble(); float f = ler.nextfloat(); // leitura de nome simples // leitura de nome composto Nelson Freire (ISEP DEI-APROG 2013/14) 4/43

Scanner Pormenores Leitura do Teclado da Consola 1/2 Scanner ler = new Scanner(System.in) ; Declaração do objeto (ou instância) ler da classe Scanner para ler do teclado new operador para criar uma instância Scanner() construtor de instâncias da classe Scanner System.in representa teclado da consola Métodos de instância da classe Scanner que podem ser aplicados ao objeto ler next() Lê próxima string simples do teclado (i.e., cadeia de carateres terminada pelo carater espaço ou newline ('\n')) nextline() Lê próxima linha do teclado (i.e., cadeia de carateres terminada em \n) nextint() Lê próximo int do teclado nextlong() Lê próximo long do teclado nextfloat() Lê próximo float do teclado nextdouble() Lê próximo double do teclado Nelson Freire (ISEP DEI-APROG 2013/14) 5/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 6/43

JOptionPane Package Introdução javax.swing Interesse Caixas de Diálogo da Interface Gráfica Tipos Entrada Para Leitura de Dados do Teclado Saída Para Escrita de Resultados Nelson Freire (ISEP DEI-APROG 2013/14) 7/43

JOptionPane Método de Classe showmessagedialog Escrita de Resultados Sintaxe void showmessagedialog(null, "mensagem") Exemplos import javax.swing.joptionpane; public class Demo_JOptionPane { public static void main(string[] args) { // método showmessagedialog aplicado à classe JOptionPane JOptionPane.showMessageDialog(null, "ISEP");......... int x = 20; } } JOptionPane.showMessageDialog(null, "Saldo = " + x + " ");... Nelson Freire (ISEP DEI-APROG 2013/14) 8/43

JOptionPane Método de Classe showinputdialog (1/2) Método aplicado à classe JOptionPane Sintaxe String showinputdialog("mensagem") Leitura de Dados do Teclado 1/2 Retorno String contendo dados fornecidos pelo utilizador na caixa de texto Cancel retorna string vazia ( "" ) Nelson Freire (ISEP DEI-APROG 2013/14) 9/43

JOptionPane Método de Classe showinputdialog Exemplos Leitura de Dados do Teclado 2/2 import javax.swing.joptionpane; public class Demo_JOPtionPane { public static void main(string[] args) { } } // método showmessagedialog aplicado à classe JOPtionPane String nome = JOptionPane.showInputDialog("Digite o seu nome:");... // método de classe parseint da classe Integer converte String em int int nota = Integer.parseInt( JOptionPane.showInputDialog("Digite uma nota (inteiro):"));... // método de classe parsefloat da classe Float converte String em float float nota = Float.parseFloat( JOptionPane.showInputDialog("Digite uma nota (real):") ); Nelson Freire (ISEP DEI-APROG 2013/14) 10/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 11/43

String Sumário Introdução Métodos de Instância length tolowercase touppercase trim substring charat equalsignorecase equals compareto comparetoignorecase replace split Método de Classe format Nelson Freire (ISEP DEI-APROG 2013/14) 12/43

String Significado de String Introdução Cadeia de carateres = texto Exemplos "ISEP" "Algoritmia e Programação" "Nico" Interesses da Classe String Guardar valores do tipo String Cada objeto String guarda uma string Exemplo String s = "ISEP"; // String s = new String("ISEP"); String v = ""; // String vazia Usar funções sobre strings Exemplo Método de classe format Permite formatar string passada por parâmetro Nelson Freire (ISEP DEI-APROG 2013/14) 13/43

String Métodos de Instância 1/5 Aplicáveis Objetos do tipo String Exemplos // considerando: String s = "Aprog"; int length() Retorna comprimento da string (quantidade de carateres) Exemplo: int comprimento = s.length(); // comprimento = 5 String tolowercase() Retorna a string com todas as letras minúsculas Exemplo: String s2 = s.tolowercase(); // s2 = "aprog" String touppercase() Retorna a string com todas as letras maiúsculas Exemplo: String s2 = s.touppercase(); // s2 = "APROG" String trim() Retorna cópia da string sem espaços brancos iniciais e finais Exemplo: String s = " APROG "; s2 = s.trim(); // s2 = "APROG" Nelson Freire (ISEP DEI-APROG 2013/14) 14/43

String Métodos de Instância 2/5 Exemplos // considerando: String s = "Aprog"; String substring( int índiceinício, int índicefim ) Retorna nova string = substring da string sobre a qual é aplicado este método Substring começa no índiceinício e estende-se até ao índicefim-1 Comprimento da substring = índicefim - índiceinício Exemplo String s2 = s.substring(1,3); // s2 = "pr" String substring( int índiceinício ) Retorna nova string = substring da string sobre a qual é aplicado este método Substring começa no índiceinício e estende-se até ao fim da string Exemplo String s2 = s.substring(1); // s2 = "prog" char charat( int índice ) Retorna carater que se encontra na posição índice Exemplos char c = s.charat(0); // c = 'A' char c = s.charat(1); // c = 'p' Nelson Freire (ISEP DEI-APROG 2013/14) 15/43

String Métodos de Instância 3/5 Exemplos // considerando: String s = "Aprog"; boolean equalsignorecase(string outrastring) Compara duas strings alfabeticamente e retorna true Ex: s.equalsignorecase("aprog") // compara strings s e "APROG" false Ex: s.equalsignorecase("alin") Não distingue maiúsculas de minúsculas Exemplo: if ( s.equalsignorecase("aprog") ) System.out.println(" s=aprog "); else System.out.println(" s APROG "); boolean equals(string outrastring) s=aprog Diferença do método anterior Distingue maiúsculas de minúsculas Exemplo: if ( s.equals("aprog") ) System.out.println(" s=aprog "); else System.out.println(" s APROG "); s APROG Nelson Freire (ISEP DEI-APROG 2013/14) 16/43

String Métodos de Instância 4/5 Exemplos // considerando: String s = "Aprog"; int compareto(string outrastring) Compara duas strings alfabeticamente e retorna um número inteiro Negativo Ex: s.compareto("pprog") s é anterior a "PPROG" Positivo Ex: s.compareto("alin") s é posterior a "ALIN" Zero Ex: s.compareto("aprog") s e "Aprog" são iguais Distingue maiúsculas de minúsculas Exemplos if ( s.compareto("aprog")==0 ) System.out.println(" s=aprog "); else System.out.println(" s APROG "); String s1 = ler.next(); // ler é instância de Scanner para ler teclado String s2 = ler.next(); if ( s1.compareto(s2)<0 ) System.out.println("Strings ordenadas:" + s1 + "," + s2); else System.out.println("Strings ordenadas:" + s2 + "," + s1); int comparetoignorecase(string outrastring) Diferença do método anterior Não distingue maiúsculas de minúsculas s APROG Nelson Freire (ISEP DEI-APROG 2013/14) 17/43 Interesse Ordenação de strings

String Métodos de Instância 5/5 Exemplos String replace(char antigo, char novo) Retorna nova string com carater antigo substituído pelo carater novo (em todas as ocorrências) Exemplo String s = "solo"; String s2 = s.replace('o','a'); // s2 = "sala" Nelson Freire (ISEP DEI-APROG 2013/14) 18/43

String Método de Instância : split 1/2 Interesse Decompor uma string em partes separadas por delimitadores (iguais ou diferentes) Exemplo: Delimitadores Iguais String registo = "joão/1961/10/1"; // campos do registo separados por / Delimitador Obtenção dos campos do registo String[] campos; // vetor para guardar partes da string registo (campos) campos = registo.split("/"); // 1º Decompõe registo pelo delimitador / // 2º Cria vetor de strings (comprimento = nº partes) // 3º Guarda as partes em elementos diferentes Resultado campos Algoritmia "joão" "1961" "10" "1" 0 1 2 3 ED TEXTO registo, campos[ ] INÍCIO registo "joão/1961/10/1" campos separar(registo, "/")... FIM Nelson Freire (ISEP DEI-APROG 2013/14) 19/43

String Método de Instância : split 2/2 Exemplo: Delimitadores Diferentes String s = "4-5+6-7+8+9"; String[] c = s.split("[+-]"); Resultado c "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 Nelson Freire (ISEP DEI-APROG 2013/14) 20/43

String Método de Classe : format 1/3 String format(string formato [, parametro1, parametro2,..., parametron]) // [...] significa opcional Semelhante ao método System.out.printf Retorna string formatada Tem um ou mais parâmetros formato especifica formato da string retornada define texto e especificadores de formato da lista de parâmetros (1, 2,... N) Exemplo 1 double x = 12.346267; String mensagem = String.format("X=%8.2f",x); mensagem: X= 12,35 2 8 formato inclui Texto + (retorno literal) Especificador de formato (representa parâmetro x e especifica o seu formato: 8.2) 3 espaços = 8-5 Exemplo 2 double media = 12.346267; String nome ="Ana"; String mensagem = String.format("A média das notas da aluna %s é %.2f", nome, media); // String retornada mensagem = "A média das notas da aluna Ana é 12,35" Nelson Freire (ISEP DEI-APROG 2013/14) 21/43

String Método de Classe : format 2/3 Parâmetro formato É uma string Especifica formato da string retornada pelo método Pode incluir Texto // retornado literalmente Carateres especiais // Ex: \n (newline) \t (tab) Especificadores de formato Tipos Especiais // Ex: %n (newline) e %% (percentagem) Normais // especificam formato da lista de parâmetros (1, 2,..., N) Correspondência entre especificador (E) e parâmetro (P) Por omissão Estabelecida pela ordem dos parâmetros (E1 P1, E2 P2,...) Exemplo String s = String.format("Nota de %s é %d",nome,nota); Método substitui especificadores pelos parâmetros correspondentes Ex: s = "Nota de Nico é 20" // nome=nico e nota=20 Nelson Freire (ISEP DEI-APROG 2013/14) 22/43

String Especificador de formato do parâmetro formato Método de Classe : format 3/3 Sintaxe: % [índice_parametro$] [flags] [dimensão] [.decimal] conversão // [...] = opcional índice_par. : índice do parâmetro de substituição (inicial é 1) Ex: %1$d ("%1$d... %1$d",i) flags: - // alinhamento à esquerda (direita por omissão) Ex: %-4d, %-10s + // adiciona sinais para números positivos e negativos Ex: %+d +345 ou -498 0 // adiciona zeros à frente até preencher campo Ex: %04d 0045, // adiciona separador de grupos Ex: %,.2f 3.456.789,23 dimensão : tamanho total reservado ao campo decimal : número de casas decimais conversão: tipo de parâmetro d inteiro f floating-point (double ou float) s string c carater b booleano o octal h hexadecimal Exemplos Especiais: não são substituídos por parâmetros n newline (evita problemas do \n porque é newline da plataforma) % percentagem int nota=20; String nome="nico"; String s = String.format("Nota de %s é %d %n", nome, nota); //s= Nota de Nico é 20 double taxa=12.34345; String s = String.format("Taxa de reprovados: %.2f%%",taxa); //s= Taxa de reprovados: 12.34% Nelson Freire (ISEP DEI-APROG 2013/14) 23/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 24/43

Character Métodos para Interesse Determinar categoria de carater Letra Minúscula Maiúscula Dígito Converter carateres Minúsculas para maiúsculas Vice-versa Determinar valor numérico Carateres do tipo dígito Nelson Freire (ISEP DEI-APROG 2013/14) 25/43

Character boolean isletter(char c) // Verifica se carater c é letra boolean isdigit(char c) // Verifica se carater c é dígito boolean isspacechar(char c) // Verifica se carater c é carater espaço boolean isuppercase(char c) // Verifica se carater c é maiúsculo boolean islowercase(char c) // Verifica se carater c é minúsculo char touppercase(char c) // Converte carater c num carater maiúsculo char tolowercase(char c) // Converte carater c num carater minúsculo int getnumericvalue(char c) // Retorna valor int que o carater c representa Exemplos char c = 'A'; if ( Character.isLetter(c) ) System.out.println(c + " é uma letra"); char c2 = Character.toLowerCase(c); Métodos de Classe // Retorna -1 se carater c não representa um int String s = "1T2X"; int digito = Character.getNumericValue(s.charAt(0)); // digito = 1 int codigo = s.charat(0); // codigo = 49 Nelson Freire (ISEP DEI-APROG 2013/14) 26/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 27/43

Formatter Package Introdução java.util Interesse Escrita Formatada Ficheiro de texto Saída da consola // Exemplo: Janela Linha de Comandos Exemplos Escrita de números reais com apenas n casas decimais Exemplo: 12.5 % // com apenas 1 casa decimal Escrita de tabela (colunas de largura fixa e alinhamentos específicos) NOME IDADE João 10 // alinhamentos à direita Nelson Freire (ISEP DEI-APROG 2013/14) 28/43

Formatter 1. Declaração de objeto da classe Formatter Escrita na Consola Exemplo Formatter out = new Formatter(System.out) ; System.out representa a saída da consola Operador new contrói um objeto da classe Formatter para escrever na saída da consola out é uma instância (objeto) da classe Formatter 2. Escrita através do método format Semelhante aos métodos format da classe String // String.format(...) printf de System.out // System.out.printf(...) Exemplo String nome = "Nico"; int idade = 23; out.format("nome:%s %n Idade:%d %n", nome, idade); Nome: Nico Idade: 23 Nelson Freire (ISEP DEI-APROG 2013/14) 29/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 30/43

Classes Java Package java.util Classe Calendar Interesse Processar Tempos e Datas Exemplos Calendar hoje = Calendar.getInstance(); // hoje: guarda instante de tempo actual int dia = hoje.get(calendar.day_of_month); int mes = hoje.get(calendar.month); int ano = hoje.get(calendar.year); int hora = hoje.get(calendar.hour); int minuto = hoje.get(calendar.minute); int segundo = hoje.get(calendar.second); Nelson Freire (ISEP DEI-APROG 2013/14) 31/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 32/43

Classes Java Classe Math Interesse Constantes Matemáticas // atributos da classe Operações Numéricas Básicas e Funções Trigonométricas // métodos da classe Métodos de Classe double sqrt(double a) // Retorna raíz quadrada de a; Exemplo: d=math.sqrt(3); tipo abs(tipo a) // tipo = double, float, int ou long // Retorna valor absoluto de a. Ex: Math.abs(-5) double pow(double a, double b) // Retorna a b ; Exemplo: 2 5 Math.pow(2,5) double exp(double a) // Retorna e a ; Exemplo: e 5 Math.exp(5) double random() // Retorna nº real aleatório do intervalo [0,1[ double cos(double angulo) // Retorna coseno do angulo em radianos double sin(double angulo) // Retorna seno do angulo em radianos double acos(double a) // Retorna arco coseno de a em radianos double todegrees(double angulo) // Converte angulo em radianos para graus double toradians(double angulo) // Converte angulo em graus para radianos Atributos final double PI // 3.14... Exemplo: Math.PI final double E // 2.71... Exemplo: Math.E Nelson Freire (ISEP DEI-APROG 2013/14) 33/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 34/43

Classes Java Método parseint Classe Integer Método de Classe Aplicável à classe Interesse Converter uma string em int Requisito Carateres da string devem ser dígitos decimais Exceção 1º carater Sinal menos... para indicar nº negativo Sintaxe int parseint(string s) Exemplo String x = "-12"; int y = Integer.parseInt(x); String x2 = "-12"; int y2 = Integer.parseInt(x2); Nelson Freire (ISEP DEI-APROG 2013/14) 35/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 36/43

Classes Java Método parselong Classe Long Método de Classe Aplicável à classe Interesse Converter uma string em long Requisito Carateres da string devem ser dígitos decimais Exceção 1º carater Sinal menos... para indicar nº negativo Sintaxe long parselong(string s) Exemplos String x = "129876506543"; long y = Long.parseLong(x); String x2 = "-129876506543"; long y2 = Long.parseLong(x2); Nelson Freire (ISEP DEI-APROG 2013/14) 37/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 38/43

Classes Java Método parsefloat Classe Float Método de Classe Aplicável à classe Interesse Converter uma string em float Sintaxe float parsefloat(string s) Exemplo String x = "12.98"; float y = Float.parseFloat(x); String x2 = "-12.98"; float y2 = Float.parseFloat(x2); Nelson Freire (ISEP DEI-APROG 2013/14) 39/43

Classes Java Sumário Scanner JOptionPane String Character Formatter Calendar Math Integer Long Float System Nelson Freire (ISEP DEI-APROG 2013/14) 40/43

System Método System.out.printf 1/3 Semântica Escreve string formatada... na saída do computador Sintaxe System.out.printf( String formato [, parametro1, parametro2,..., parametron] ) Tem um ou mais parâmetros [...] significa opcional formato especifica formato da string escrita define texto e especificadores de formato da lista de parâmetros (1,2,... N) Exemplo 1 double x = 12.346267; System.out.printf("X=%8.2f",x); Saída: X= 12,35 2 8 formato inclui Texto + (escrita literal) Exemplo 2 double media = 12.346267; Especificador de formato (representa parâmetro x e especifica o seu formato: 8.2) String nome ="Ana"; System.out.printf("A média das notas da aluna %s é %.2f", nome, media); // Saída formatada : A média das notas da aluna Ana é 12,35 3 espaços = 8-5 Nelson Freire (ISEP DEI-APROG 2013/14) 41/43

System Método System.out.printf 2/3 Parâmetro formato É uma string Especifica formato da string que o método escreve Pode incluir Texto // escrito literalmente Carateres especiais // Ex: \n (newline) \t (tab) Especificadores de formato Tipos Especiais // Ex: %n (newline) e %% (percentagem) Normais // especificam formato da lista de parâmetros (1, 2,..., N) Correspondência entre especificador (E) e parâmetro (P) Por omissão Estabelecida pela ordem dos parâmetros (E1 P1, E2 P2,...) Exemplo System.out.printf("Nota de %s é %d",nome,nota); Método substitui especificadores pelos parâmetros correspondentes Ex: s = "Nota de Nico é 20" // nome=nico e nota=20 Nelson Freire (ISEP DEI-APROG 2013/14) 42/43

System Especificador de formato do parâmetro formato Método System.out.printf 3/3 Sintaxe: % [índice_parametro$] [flags] [dimensão] [.decimal] conversão // [...] = opcional índice_par. : índice do parâmetro de substituição (inicial é 1) Ex: %1$d ("%1$d... %1$d",i) flags: - // alinhamento à esquerda (direita por omissão) Ex: %-4d, %-10s + // adiciona sinais para números positivos e negativos Ex: %+d +345 ou -498 0 // adiciona zeros à frente até preencher campo Ex: %04d 0045, // adiciona separador de grupos Ex: %,.2f 3.456.789,23 dimensão : tamanho total reservado ao campo decimal : número de casas decimais conversão: tipo de parâmetro d inteiro f floating-point (double ou float) s string c carater b booleano o octal h hexadecimal Exemplos Especiais: não são substituídos por parâmetros n newline (evita problemas do \n porque é newline da plataforma) % percentagem int nota=20; String nome="nico"; System.out.printf("Nota de %s é %d %n", nome, nota); //saída: Nota de Nico é 20 double taxa=12.34345; System.out.printf("Taxa de reprovados: %.2f%%",taxa); //saída: Taxa de reprovados: 12.34% Nelson Freire (ISEP DEI-APROG 2013/14) 43/43