Foro no oficial de la UPCT
Clase teclado.java - Versión para impresión

+- Foro no oficial de la UPCT (https://foroupct.es)
+-- Foro: 1º GIT (https://foroupct.es/Forum-1%C2%BA-GIT)
+--- Foro: Fundamentos de Programación (https://foroupct.es/Forum-Fundamentos-de-Programaci%C3%B3n)
+--- Tema: Clase teclado.java (/Thread-Clase-teclado-java)



Clase teclado.java - alfonso - 04-01-2016

Paquete que contiene únicamente la clase Teclado en la que se recogen un conjunto de métodos para el manejo de la entrada desde teclado. Estos métodos permiten la lectura de datos de todos los tipos básicos java (a excepción de booleanos): char, byte, short, int, double y float. También se incorporan métodos para la entrada de String. 
La entrada se hace por líneas => se lee una línea (String) y se busca en ella el tipo de dato requerido llamando a al método parse correspondiente.
Ninguno de los métodos lanza excepciones. Si se producen, se capturan y se muestra un mensaje de error pero en ningún caso se relanzan.
Código PHP:
package utilidades;
// =====================================================================                
// MODO DE USO: Colocar este paquete en C:\jdk1.3\jre\classes\Teclado\
//              y compilarlo en ese directorio.
//              Añadir en Packages - ClassPath el directorio 
//                  C:\jdk1.3\jre\classes\
//              Para utilizar el paquete, es necesario realizar el 
//                 siguiente import:
//                     import Teclado.*;
// =====================================================================


//package Teclado; 

import java.io.*;

public class 
Teclado {
    
    public static final 
byte     BYTE_ERR     =    Byte.MAX_VALUE;
    public static final 
short     SHORT_ERR     =     Short.MAX_VALUE;
    public static final 
int     INT_ERR     =    Integer.MAX_VALUE;
    public static final 
double     DOUBLE_ERR     =     Double.MAX_VALUE;
    public static final 
float      FLOAT_ERR     =     Float.MAX_VALUE;
    public static final 
char      CHAR_ERR     =     Character.MAX_VALUE;
    public static final 
String    STRING_ERR     =     null;
    
    
    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>byte</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>byte</b></code> introducido por el usuario o <code><b>Teclado.BYTE_ERR</b></code> si no se introdujo un byte.
     */
    
public static byte readByte () {
        
byte val=BYTE_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Byte.parseByte (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnByte): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnByte): Valor introducido no byte");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnByte): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>short</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>short</b></code> introducido por el usuario o <code><b>Teclado.SHORT_ERR</b></code> si no se introdujo un byte.
     */
    
public static short readShort () {
        
short val=SHORT_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Short.parseShort (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnShort): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnShort): Valor introducido no short");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnShort): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>int</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>int</b></code> introducido por el usuario o <code><b>Teclado.INT_ERR</b></code> si no se introdujo un byte.
     */
    
public static int readInt () {
        
int val=INT_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Integer.parseInt (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnInt): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnInt): Valor introducido no entero");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnInt): Ocurrió una excepción");
        }
        return 
val;
    }


    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>double</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>double</b></code> introducido por el usuario o <code><b>Teclado.DOUBLE_ERR</b></code> si no se introdujo un byte.
     */
    
public static double readDouble () {
        
double val=DOUBLE_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Double.parseDouble (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnDouble): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnDouble): Valor introducido no double");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnDouble): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>float</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>float</b></code> introducido por el usuario o <code><b>Teclado.FLOAT_ERR</b></code> si no se introdujo un byte.
     */
    
public static double readFloat () {
        
float val=FLOAT_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val Float.parseFloat (in.readLine());
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnFloat): Imposible leer línea");
        } catch (
NumberFormatException nfe) {
            
System.out.println (">> Excepción (readLnFloat): Valor introducido no float");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnFloat): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>char</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>char</b></code> introducido por el usuario o <code><b>Teclado.CHAR_ERR</b></code> si no se introdujo un byte.
     */
    
    
public static char readChar () {
        
char val CHAR_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val = (charin.read(); 
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnChar): Imposible leer caracter");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnChar): Ocurrió una excepción");
        }
        return 
val;
    }

    
/** 
     *  Método que lee una línea de teclado y devuelve el <code><b>String</b></code> escrito por el usuario. 
     *  @return Devuelve el <code><b>String</b></code> introducido por el usuario o <code><b>Teclado.STRING_ERR</b></code> si no se introdujo un byte.
     */
    
public static String readString () {
        
String val=STRING_ERR;
        try    {
            
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
            
val in.readLine();
        } catch (
IOException ioe) {
            
System.out.println (">> Excepción (readLnString): Imposible leer línea");
        } catch (
Exception e) {
            
System.out.println (">> Excepción (readLnString): Ocurrió una excepción");
        }
        return 
val;
    }







RE: Clase teclado.java - alfonso - 18-12-2017

Otra forma de introducir datos por teclado mucho más rápida:
Código PHP:
import java.util.Scanner;

public class 
Ejercicio1 {

 
   public static void main(String[] args) {
 
       byte dato       
        Scanner teclado 
= new Scanner(System.in);
 
       dato teclado.nextByte();
 
       System.out.println(dato);
 
   }