domingo, 11 de maio de 2014

Saída e entrada de dados (System, JOptionPane e Scanner)       


  • Explicação:


Entrada e Saída de dados por JOptionPane
As caixas de diálogo têm uma função importante na interação do programa com o usuário. É através delas que dados são solicitados pelo programa e é através delas que mensagens de erro, informações, alertas e avisos podem ser exibidos para o usuário.

Em Java temos uma classe chamada java.util.Scanner que neste momento utilizaremos para receber entradas do usuário via console, mas esta classe também é pode ser utilizada para outros fins, tais como leitura de arquivos por exemplo.

No exemplo abaixo vamos utilizar a classe Scanner para pedir que o usuário digite sua idade, depois iremos imprimir qual foi o número lido:

ExemploScanner.java


01
import java.util.Scanner;
02

03
/**
04
* Neste exemplo pedimos para o usuário digitar a idade,
05
* depois imprimimos uma frase com a idade lida.
06
*/
07
public class ExemploScanner {
08
    public static void main(String[] args) {
09
      Scanner s = new Scanner(System.in);
10
    
11
      System.out.println("Digite sua idade: ");
12
      int idade = s.nextInt();
13
      System.out.println("Vc tem " + idade + " anos.");
14
    }
15
}

Quando executamos a classe ExemploScanner, na linha 11 imprimimos no console a seguinte mensagem:

C:\>javac ExemploScanner.java
C:\>java ExemploScanner
Digite sua idade:

Na linha 12 o programa fica esperando o usuário digitar um número inteiro e em seguida apertar a tecla ENTER, para continuar a execução:

C:\>javac ExemploScanner.java
C:\>java ExemploScanner
Digite sua idade:
27
Você tem 27 anos.

  • Exercício resolvido: Elabore o exercício que receba o nome do usuário e o sexo. E exiba a saudação contendo o sexo e o nome do usuário.


Obs.: IOException é uma exception do tipo checked - o que nos obriga a tratá-la ou declará-la.

import java.io.IOException; 
import java.util.Scanner; // 1. importando a classe Scanner
 
public class Exemplo3 {
// através da cláusula throws indicamos que não iremos
// tratar possíveis erros na entrada de dados realizada
// através do método "read" do pacote de classes System.in
  public static void main(String[] args) throws IOException {
// 2. instanciando e criando um objeto Scanner
    Scanner ler = new Scanner(System.in);
 
    String nome;
    char sexo;
 
    System.out.printf("Informe um nome:\n");
    nome = ler.nextLine(); // 3.5 entrada de dados (lendo uma String)
 
    System.out.printf("\nInforme o sexo (M/F): ");
// 3.7 entrada de dados (lendo um caractere)
    sexo = (char)System.in.read();
 
    System.out.printf("\nResultado:\n");
    if ((sexo == 'M') || (sexo == 'm'))
       System.out.printf("Seja bem vindo Sr. \"%s\".\n", nome);
    else System.out.printf("Seja bem vinda Sra. \"%s\".\n", nome);
  }
 
}
Fonte: http://www.devmedia.com.br/entrada-de-dados-classe-scanner/21366

  • Confirmação da explicação:


Obs.: O BufferedReader tem como objetivo ler um texto em buffers (região de memória temporária utilizada para escrita e leitura de dados). O que é mais eficiente, mais rápido e consome menos memória.







  • Vídeo explicativo :

  • Exercício teórico: 

  1. Com método main() conforme o padrão da linguagem Java.
  2. Criar um objeto da classe Computador e atribuir valores a seus atributos. Atribuir HP ao atributo marca.
  3. Executar o método imprimir() e analisar o que será exibido na tela.
  4. Executar o método calcularValor().
  5. Executar o método imprimir() e analisar o que será exibido na tela.
  6. Criar um segundo objeto e atribuir valores a seus atributos. Atribuir IBM ao atributo marca do novo objeto.
  7. Executar o método calcularValor() do novo objeto.
  8. Executar o método imprimir() do novo objeto e analisar o que será exibido na tela.
  9. Executar para o novo objeto o método alterarValor() com um valor positivo.
  10. Verificar no método main() o retorno do método alterarValor() e mostrar a mensagem de “Alterado” caso este retorne 1, e valor “Não Alterado” caso retorne 0.
  11. Executar para o novo objeto o método alterarValor() com um valor negativo.
  12. Verificar no método main() o retorno do método alterarValor() e mostrar a mensagem de “Valor Alterado” caso este retorne 1, e “valor Não Alterado” caso retorne 0.
  13. Executar para o novo objeto o método imprimir() e analisar o que será exibido na tela. 

·    

  •     Exercício Prático:

Elabore um programa que receba o nome do aluno, as notas durante o semestre (NAC, AM e PS) e exiba a média semestral.



Jonathan M. Santos RM: 71200
Kelvin Sampaio RM: 71114
Leonardo Aragaki RM: 71083
 

Um comentário:

  1. Pessoal no segundo parágrafo tem um erro de concordância, corrijam, ok? As imagens dos exemplos vocês fizeram? Ou pegaram de algum lugar? Se pegaram, não tem problema, desde que citem de onde pegaram estas imagens ok?

    abçs

    ResponderExcluir