Buscar

POO 05 Entrada de Dados Simplificada

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Usando a Classe Console
*
Java
Entrada de Dados 
Simplificada em
Marcelo José Siqueira
Coutinho de Almeida
marcelo@cefetpb.edu.br
Usando a Classe Console
*
Entrada de Dados
Podemos fazer entrada de dados em Java de três formas:
argumentos na chamada do programa (args[ ])
linha de comando com a API de E/S
interface gráfica usando a API Swing e AWT
*
Usando a Classe Console
*
Entrada de Dados
argumentos na chamada do programa
Exemplo: 
C:\java soma 1 2
Implicitamente o que ocorre é:
args[0]=1
args[1]=2
System.out.println(args[0]+args[1]); 
Limitação: 
Interatividade fraca pois os valores são passados uma única vez no início da execução
*
Usando a Classe Console
*
Entrada de Dados
linha de comando com a API de E/S
Exemplo:
 	
*
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr); 
String s = br.readLine();
Limitação: Precisamos de conceitos tais como Classe, Objeto, Herança e Interface (ainda não vistos!)
Nesse caso é preciso importar java.io
Usando a Classe Console
*
Entrada de Dados
*
import java.io.*;
public class Main {
 
 public static void main(String[] args) throws Exception {
 InputStreamReader isr = new InputStreamReader(System.in);
 BufferedReader br = new BufferedReader(isr); 
 System.out.println("Informe o seu nome");
 String s = br.readLine();
 System.out.println("Seu nome eh " + s);
 }
}
Usando a Classe Console
*
Entrada de Dados
Interface Gráfica Usando a API Swing e AWT
Exemplo:
Limitação:
Precisamos de conceitos como Interface, Herança, Inner Classes (Classes Internas Anônimas) e Modelo de Eventos (ainda não vistos!)
*
Usando a Classe Console
Usando a Classe Console
*
Entrada de Dados
Como iremos fazer Entrada de Dados?
Usaremos por enquanto a classe Scanner da API java.util
A partir de java 1.5
Simples de se utilizar
Orientada à linha de comando
Abstrai a complexidade da API java.io
*
Usando a Classe Console
*
Classe Scanner
Métodos Disponíveis
nexInt
nextDouble
next
*
lê um valor inteiro da entrada
int quant = scan.nextInt();
lê um valor real da entrada
double preço = scan.nextDouble();
lê um string da entrada
String frase = scan.next(”);
Usando a Classe Console
*
Classe Scanner
*
import java.util.Scanner;
 
public class Main{
 public static void main(String[] args){	
	 Scanner scan = new Scanner(System.in);	 
 
 String nome;
 int idade;
 System.out.println(“Informe seu nome”);
		 nome = scan.next();	
 System.out.println(“Informe sua idade”);
 idade = scan.nextInt();
 System.out.println(“Olá" + nome + “!\n”);
		 System.out.println(“Sua idade é" + idade);
 }
}
Usando a Classe Console
*
Classe Scanner
Outros métodos
nextBoolean
nextByte 
nextShort
nextLong
*
Usando a Classe Console
*
 JOptionPane
Classe da API javax.swing
Exibe caixas de diálogos para entrada e saída de dados 
Quem define o tipo de caixa é o método sendo usado
Principais:
showMessageDialog
showInputDialog 
*
Usando a Classe Console
*
 JOptionPane
*
showMessageDialog
Exibe uma mensagem de aviso ao usuário
Rótulo
Mensagem
Confirmação
Usando a Classe Console
*
 JOptionPane
*
showInputDialog
Permite ao usuário fazer entrada de dados 
Mensagem
Campo de Entrada de Dados
Usando a Classe Console
*
 JOptionPane
*
 import javax.swing.JOptionPane;
 public static void main(String[] args) {
 String x, y;
 int a=0,b=0;
 
 x = JOptionPane.showInputDialog("Entre com o primeiro valor");
 y = JOptionPane.showInputDialog("Entre com o segundo valor");
 a = Integer.parseInt(x);
 b = Integer.parseInt(y);
 
 
Usando a Classe Console
*
 JOptionPane
*
JOptionPane.showMessageDialog(null,“PRIMEIRO EXEMPLO”,
		“OLÁ, MUNDO!!!",JOptionPane.PLAIN_MESSAGE);
Usando a Classe Console
*
Perhaps Love...
*
E se o usuário digitar uma letra ao invés de um número?
Você é muito pessimista!!!
O usuario não vai fazer isso... Nunca! 
Pode até ser que ele não queira... 
Mas pode acontecer, inteligência rara!!!
Isso é uma situação EXCEPECIONAL!!!!
Usando a Classe Console
*
Exceptions are exceptions!!!!
*
Java dispõe de construções sintáticas específicas para lidar com essas situações...
Estudaremos com detalhes mais adiante no curso
try{
 a = Integer.parseInt(x);
}catch(NumberFormatException e){
 JOptionPane.showMessageDialog(null,"Valor Inválido",
	"Exceção",JOptionPane.PLAIN_MESSAGE);
}
Depois voltaremos a falar com mais detalhes sobre esse assunto....
Usando a Classe Console
*
Dúvidas, Sugestões e Reclamações marcelo@cefetpb.edu.br
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais