Entradas de console

Olá, gostaria de saber como posso criar uma classe que permita eu conseguir entradas a partir de console nos tipos string, inteiro, float, double e char!

Se alguem puder me ajudar…
Obrigada!

Bem vindo ao PortalJava :grin:

Você realmente tem a necessidade de pegar as entradas do console?
Se a resposta for não, de uma olhada no método showInputDialog() e showMessageDialog() da classe javax.swing. Muito mais simples! :wink:

Muito obrigada! Vou tentar dar uma olhada nestas classes…
Porém precisaria saber sobre estas entradas a partir de console…
Tenho que fazer um trabalho sobre isto…

Muito obrigada novamente…

Olá Sani!!!

No livro CoreJava II - Vol. 1, há um exemplo de tratamento de entradas de console.

Esta é a classe que eles desenvolveram, é bem simples, mas dá pra fazer alguma coisa. Se vc não entender o código por conta própria, pode me mandar uma mensagem ou postar um novo tópico que mando também um exemplo de uso.

Se for um trabalho de faculdade, leve em conta que vale mais a pena quebrar a cabeça. Pegue o livro emprestado na biblioteca da faculdade, e veja o capítulo onde ele mostra o tratamento de console.

Abraços

/**
   An easy interface to read numbers and strings from 
   standard input

   @version 1.10 10 Mar 1997
   @author Cay Horstmann
*/

public class Console
{  /**
      print a prompt on the console but don't print a newline
      
      @param prompt the prompt string to display
    */

   public static void printPrompt(String prompt)
   {  System.out.print(prompt + " ");
      System.out.flush();
   }
   
   /**
      read a string from the console. The string is 
      terminated by a newline

      @return the input string (without the newline)
    */
    
   public static String readLine()
   {  int ch;
      String r = "";
      boolean done = false;
      while (!done)
      {  try
         {  ch = System.in.read();
            if (ch < 0 || (char)ch == '\n')
               done = true;
            else if ((char)ch != '\r') // weird--it used to do \r\n translation
               r = r + (char) ch;
         }
         catch(java.io.IOException e)
         {  done = true;
         }
      }
      return r;
   }

   /**
      read a string from the console. The string is 
      terminated by a newline

      @param prompt the prompt string to display
      @return the input string (without the newline)
    */
    
   public static String readLine(String prompt)
   {  printPrompt(prompt);
      return readLine();
   }

   /**
      read an integer from the console. The input is 
      terminated by a newline

      @param prompt the prompt string to display
      @return the input value as an int
      @exception NumberFormatException if bad input
    */
    
   public static int readInt(String prompt)
   {  while(true)
      {  printPrompt(prompt);
         try
         {  return Integer.valueOf
               (readLine().trim()).intValue();
         } catch(NumberFormatException e)
         {  System.out.println
               ("Not an integer. Please try again!");
         }
      }
   }

   /**
      read a floating point number from the console. 
      The input is terminated by a newline

      @param prompt the prompt string to display
      @return the input value as a double
      @exception NumberFormatException if bad input
    */
    
   public static double readDouble(String prompt)
   {  while(true)
      {  printPrompt(prompt);
         try
         {  return Double.parseDouble(readLine().trim());
         } catch(NumberFormatException e)
         {  System.out.println
         ("Not a floating point number. Please try again!");
         }
      }
   }
}

Aê sani vou completar a informação do nosso amigo rr_castaneda, depois de vc ter criado a classe Console.java(código do rr_castaneda), para manipular essa classe no seu arquivo fica bastante fácil.

Vou colocar auqi um exemplo aonde a classe Console ler uma variável via teclado!

2.17 Escreva um aplicativo que solicita ao usuário para digitar dois inteiros, que obtém os números do usuário e exibe o numero maior e se eles forem iguais.

[code]public class Exercicio217 {

public static void main(String[] args) {

int num1, num2;
System.out.println("Digite primeiro numero: ");
num1 = Console.readInt();
System.out.println("Digite segundo numero: ");
num2 = Console.readInt();

if (num1 > num2)
System.out.println("Maior: " + num1);
if (num2 > num1)
System.out.println("Maior: " + num2);
if (num1 == num2)
System.out.println(“Numeros iguais!”);

}
}[/code]

Não esquecendo de Salvar os arquivos Console.class e Exercicio217.java no mesmo diretório!

Espero ter ajudado! :smiley:

Olá!

Só queria agradecer pelas informações… com certeza ajudaram muito!
Muito obrigada!

Ei, pessoal

sabe aquele

import Corejava.*;

no ínício do código? onde posso encontrar o fonte desse Corejava?
estou precisando fazer uns programinhas bestas com esse Corejava.
Valeu aí pela força!

Uma entrada pelo console poderia ser feito dessa maneira

String entrada;
Buffered input = new BufferedReader(new InputStreamReader(System.in));

try{
entrada = input.readLine();
}catch(IOException e){
System.err.println("Erro: " + e);
}

ou se o programa for executado utilizando java nomedoprograma basta digitar apos isso a entrada e no método main recuperá-las.
EX.:

java nomedoprograma Teste

no metodo main ----

public static void main …
String entrada = args[0};

e assim sucessivamente.

Abraços,

Rodolfo Coutinho