Capturar no Console

3 respostas
F

Olá pessoal!

Alguém tem alguma subrotina pronta capaz de captar dados informados pelo console e retornando string?

Grato!
Fábio Heleno

3 Respostas

H

Fábio...eu conheço duas formas de ler dados de entrada:
- uma usando o método JOptionPane.showInputDialog
- outra usando a entrada via console
A primeira é bem simples, já a segunda nem tanto...

1a) - Você colocará no cabeçalho do seu código
Import javax.swing.JOptionPane;
- E na hora de codificar a classe você usará a seguinte sintaxe:
String <nome_da_variavel> = JOptionPane.showInputDialog("Msg  que deseja exibir na caixa de Diálogo");
                 int <variavel> =Integer.parseInt(<nome_da_variavel>
Isso fará com que <variavel> do tipo int receba o valor digitado. No final vc precisa usar o comando
System.exit&#40;0&#41;;
no método main 2a) - Você colocará no cabeçalho:
Import java.io.BufferedReader;
Import java.io.InputStreamReader;
Import java.io.IOException;
ou simplismente
Import java.io.*
- Na hora de você codificar a classe vc usará a seguinte sintaxe:
BufferedReader &lt;nome_da_variavel&gt; = new BufferedReader&#40;
         new InputStreamReader&#40;System.in&#41;&#41;;

      System.out.println&#40;&quot;Msg exibida no console&quot;&#41;;
      String &lt;variavel&gt; = &lt;nome_da_variavel&gt;.readLine&#40;&#41;;
      int count = Integer.parseInt&#40;&lt;variavel&gt;&#41;;

Aqui vai os exemplos que ele dá no BIG JAVA:

Classe Purse:
/**
   A purse computes the total value of a collection of coins.
*/
public class Purse
&#123;
   /**
      Constructs an empty purse.
   */
   public Purse&#40;&#41;
   &#123;
      nickels = 0;
      dimes = 0;
      quarters = 0;
   &#125;

   /**
      Add nickels to the purse.
      @param count the number of nickels to add
   */
   public void addNickels&#40;int count&#41;
   &#123;
      nickels = nickels + count;
   &#125;

   /**
      Add dimes to the purse.
      @param count the number of dimes to add
   */
   public void addDimes&#40;int count&#41;
   &#123;
      dimes = dimes + count;
   &#125;

   /**
      Add quarters to the purse.
      @param count the number of quarters to add
   */
   public void addQuarters&#40;int count&#41;
   &#123;
      quarters = quarters + count;
   &#125;

   /**
      Get the total value of the coins in the purse.
      @return the sum of all coin values
   */
   public double getTotal&#40;&#41;
   &#123;
      return nickels * NICKEL_VALUE 
         + dimes * DIME_VALUE + quarters * QUARTER_VALUE;
   &#125;

   private static final double NICKEL_VALUE = 0.05;
   private static final double DIME_VALUE = 0.1;
   private static final double QUARTER_VALUE = 0.25;

   private int nickels;
   private int dimes;
   private int quarters;
&#125;
Entrada pelo Console:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

/**
   This program tests input from a console window.
*/
public class ConsoleInputTest
&#123;
   public static void main&#40;String&#91;&#93; args&#41; &#91;b&#93;throws IOException&#91;/b&#93;
   &#123;
      Purse myPurse = new Purse&#40;&#41;;


      BufferedReader console = new BufferedReader&#40;
         new InputStreamReader&#40;System.in&#41;&#41;;

      System.out.println&#40;&quot;How many nickels do you have?&quot;&#41;;
      String input = console.readLine&#40;&#41;;
      int count = Integer.parseInt&#40;input&#41;;
      myPurse.addNickels&#40;count&#41;;

      System.out.println&#40;&quot;How many dimes do you have?&quot;&#41;;
      input = console.readLine&#40;&#41;;
      count = Integer.parseInt&#40;input&#41;;
      myPurse.addDimes&#40;count&#41;;

      System.out.println&#40;&quot;How many quarters do you have?&quot;&#41;;
      input = console.readLine&#40;&#41;;
      count = Integer.parseInt&#40;input&#41;;
      myPurse.addQuarters&#40;count&#41;;

      double totalValue = myPurse.getTotal&#40;&#41;;
      System.out.println&#40;&quot;The total is &quot; + totalValue&#41;;

      System.exit&#40;0&#41;;
   &#125;
&#125;
Entrada pela caixa de diálogo:
import javax.swing.JOptionPane;

/**
   This program tests input from an input dialog.
*/
public class InputTest
&#123;
   public static void main&#40;String&#91;&#93; args&#41;
   &#123;
      Purse myPurse = new Purse&#40;&#41;;

      String input = JOptionPane.showInputDialog&#40;&quot;How many nickels do you have?&quot;&#41;;
      int count = Integer.parseInt&#40;input&#41;;
      myPurse.addNickels&#40;count&#41;;

      input = JOptionPane.showInputDialog&#40;&quot;How many dimes do you have?&quot;&#41;;
      count = Integer.parseInt&#40;input&#41;;
      myPurse.addDimes&#40;count&#41;;

      input = JOptionPane.showInputDialog&#40;&quot;How many quarters do you have?&quot;&#41;;
      count = Integer.parseInt&#40;input&#41;;
      myPurse.addQuarters&#40;count&#41;;

      double totalValue = myPurse.getTotal&#40;&#41;;
      System.out.println&#40;&quot;The total is &quot; + totalValue&#41;;

      System.exit&#40;0&#41;;
   &#125;
&#125;

Não sei se é isso q vc queria :P Eu ainda não testei nenhum programa com entrada pelo usuário...

F

O JOptionPane já conheço… só não sabia um metodo para lidar com o console.

Seus exemplos foram ótimos. Ficou bem explicativo.

Obrigado e abraços.
Fábio Heleno

F

“FaHeCoN”:
O JOptionPane já conheço… só não sabia um metodo para lidar com o console.

Seus exemplos foram ótimos. Ficou bem explicativo.

Obrigado e abraços.
Fábio Heleno

better impossible :wink:

Criado 12 de agosto de 2004
Ultima resposta 12 de ago. de 2004
Respostas 3
Participantes 2