Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem e Técnicas de Programação Centro Universitário do Pará Centro Universitário do Pará –– CesupaCesupa Área de Ciências Exatas e TecnologiaÁrea de Ciências Exatas e Tecnologia 08 – Entrada e Saída O comando import • O comando import serve para informar que o programa atual poderá acessar classes (e elementos) externos • Isso facilita a vida do programador, pois alguns • Isso facilita a vida do programador, pois alguns códigos são repetitivos e não é necessário reescrevê-los em cada novo programa • Reutilização de software Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 2 Formatação de valores de saída • Podemos usar a classe DecimalFormat para formatar a aparência (layout) dos valores numéricos na saída dos dados • Precisamos acrescentar na primeira linha do programa o comando programa o comando import java.text.DecimalFormat; para poder usar o formatador • O formatador precisa ser configurado com a String de layout Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 3 Exemplo05 DecimalFormat //Aviso ao programa que iremos usar o DecimalFormat import java.text.DecimalFormat; public class Exemplo05{ public static void main (String args[]){ float valor = 3475.1f; DecimalFormat formatador; //variável formatadora formatador = new DecimalFormat("#,##0.00"); //Layout String valorFormatado = formatador.format(valor); //Formatação Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 4 String valorFormatado = formatador.format(valor); //Formatação System.out.print("Sem formatação: "); System.out.println("Preço R$ " + valor); System.out.print("Com formatação: "); System.out.println("Preço R$ " + valorFormatado); } } Saída: Sem formatação: Preço R$ 3475.1 Com formatação: Preço R$ 3.475,10 Exemplos de formatações • Usamos os seguintes símbolos para formatar os números com DecimalFormat Símbolo Significado 0 Obriga o dígito a aparecer, mesmo que seja zero Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 5 0 Obriga o dígito a aparecer, mesmo que seja zero # Mostra o dígito se não for zero . Separador decimal , Separador de grupo (1.000.000) % Multiplica por 100 e mostra como percentual. Entrada e saída de dados • A linguagem Java oferece diversas maneiras de interação para entrada e saída de dados nos programas • O tipo padrão de entrada de dados é String, • O tipo padrão de entrada de dados é String, ou seja, tudo o que recebermos em um programa deve ser internamente convertido para o tipo de destino antes de ser usado Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 6 Formas de entrada e saída de dados • Veremos as seguintes técnicas de entrada e saída de dados: – Passagem de parâmetros (terminal) – BufferedReader (terminal)– BufferedReader (terminal) – Scanner (terminal) – JOptionPane (interface gráfica) Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 7 Passagem de parâmetros • Uma aplicação em Java pode receber valores a partir da linha de comando do prompt de comandos, isto é, no momento em que ele é executado • Esses valores são chamados de argumentos ou parâmetrosparâmetros • Quando um parâmetro é recebido por um programa, ele pode ser manipulado internamente e usado em um procedimento qualquer Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 8 Exemplo06 Passagem de parâmetros public class Exemplo06{ public static void main (String args[]){ System.out.println("Primeiro argumento: "+args[0]); //imprime o 1º argumento na tela System.out.println("Segundo argumento: "+args[1]); //imprime o 2º argumento na tela } Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 9 } } Primeiro argumento: Linguagem Segundo argumento: Java Como executar • Ao digitar esta linha de comando, obviamente depois de o programa ter sido compilado, o programa irá imprimir na tela os dois argumentos inseridos pelo usuárioargumentos inseridos pelo usuário • Essas palavras são passadas ao programa por meio do vetor args existente na linha do método main (String args[]) Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 10 Argumentos • A variável args é um vetor de String que possui o primeiro elemento do vetor com índice 0 (zero) • Sendo assim, cada palavra digitada na linha de comando, separada por um espaço, será armazenada em um índice do vetor args (args[0] armazena o em um índice do vetor args (args[0] armazena o primeiro argumento String, args[1] o segundo e assim sucessivamente) Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 11 args[0] args[1] args[2] args[3] args[4] ... args[n] Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Parâmetro 5 ... Parâmetro (n-1) Exemplo07 Cálculo de média public class Exemplo07{ public static void main (String args[]){ double nota1, nota2, media; nota1 = Double.parseDouble(args[0]); nota2 = Double.parseDouble(args[1]); media = (nota1+nota2)/2; System.out.println("Media = "+ media); Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 12 System.out.println("Media = "+ media); } } Media = 7.75 BufferedReader • É uma técnica que usa principalmente a classe BufferedReader para efetivar a entrada de dados • É necessário usar a técnica de tratamento de • É necessário usar a técnica de tratamento de exceções que previne o cancelamento da execução do programa quando situações de exceção ocorrem • É necessário usar o comando import java.io.*; Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 13 Exemplo08 BufferedReader import java.io.*; public class Exemplo08{ public static void main (String args[]) throws Exception { String s=""; //variável para receber os valores em forma de String float nota1=0, nota2=0, media=0; //valores para cálculo //preparação das entradas BufferedReader dado; dado = new BufferedReader(new InputStreamReader(System.in)); Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 14 dado = new BufferedReader(new InputStreamReader(System.in)); //entrada do primeiro valor System.out.print("Entre com a nota 1: "); s=dado.readLine(); nota1=Float.parseFloat(s); //entrada do segundo valor System.out.print("Entre com a nota 2: "); s=dado.readLine(); nota2=Float.parseFloat(s); media=(nota1+nota2)/2; //cálculo da média System.out.println("Media : "+ media); } } Scanner • A classe Scanner é uma alternativa à classe BufferedReader • Método de entrada de dados para uso com terminal mais simples que a classe BufferedReaderBufferedReader • Nesse caso a entrada de valores fracionário se faz com o uso de vírgulas • É necessário usar o comando import java.util.Scanner; Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 15 Exemplo09 Scanner import java.util.Scanner; public class Exemplo09{ public static void main (String args[]){ double nota1, nota2, media; Scanner dado = new Scanner(System.in); System.out.print("Entre com a nota 1: "); nota1 = dado.nextDouble(); System.out.print("Entre com a nota 2: "); Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 16 System.out.print("Entre com a nota 2: "); nota2 = dado.nextDouble(); media = (nota1+nota2)/2; System.out.println("Media = "+ media); } } JOptionPane • É uma técnica de entrada e saída de dados que usa elementos de interface gráfica amigável ao usuário • É necessário usar o comando import javax.swing.JOptionPane; • Possui dois métodos que usaremos:• Possui dois métodos que usaremos: – JOptionPane.showMessageDialog( ) • para saída de dados – JOptionPane.showInputDialog( ) • para entrada de dados Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 17 Exemplo10 JOptionPane import javax.swing.JOptionPane; public class Exemplo10{ public staticvoid main (String args[]){ double nota1, nota2, media; String dado; dado = JOptionPane.showInputDialog( "Digite a primeira nota" ); nota1 = Double.parseDouble(dado); dado = JOptionPane.showInputDialog( "Digite a segunda nota" ); Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 18 dado = JOptionPane.showInputDialog( "Digite a segunda nota" ); nota2 = Double.parseDouble(dado); media = (nota1+nota2)/2; JOptionPane.showMessageDialog(null, "Média = " + media, "Resultado",JOptionPane.PLAIN_MESSAGE ); System.exit( 0 ); } } Variações do JOptionpane JOptionPane.showMessageDialog(null, ”Texto”) • Mostra a caixa de diálogo com o “Texto” aparecendo no meio da janela. Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 19 Variações do JOptionpane JOptionPane.showMessageDialog(null, ”Texto”, “Título”, JOptionPane.PLAIN_MESSAGE) • Mostra a caixa de diálogo com o “Texto” aparecendo no meio da janela que tem o título alterado para “Título” e o termo JOptionPane.PLAIN_MESSAGE, que é o tipo de janela, faz com JOptionPane.PLAIN_MESSAGE, que é o tipo de janela, faz com que não apareça a figura da janela Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 20 Variações do JOptionpane JOptionPane.showMessageDialog (null, "Texto", "Título", JOptionPane.INFORMATION_MESSAGE, new ImageIcon ("C:/figura.jpg")); • Mostra a caixa de diálogo com o “Texto” aparecendo no meio da janela que tem o título alterado para “Título” e aparece a figura indicada pelo endereço “c:/figura.jpg”figura indicada pelo endereço “c:/figura.jpg” • Este endereço pode ser alterado para o endereço de qualquer figura desejada. Observe que a barra “/” no endereço é a barra normal • Acrescente a linha abaixo no início do programa import javax.swing.ImageIcon; Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 21 Tipo da janela • Existem 5 tipos de caixa de diálogo pré- definidos no JOptionPane • Eles são: Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 22 O que foi visto • import • DecimalFormat • Entrada e saída de dados • Parâmetros• Parâmetros • BufferedReader • Scanner • JOptionPane Professor RicardoCasseb | rcasseb@gmail.com | @rcasseb 23
Compartilhar