
La idea de este ejemplo es simple. Consiste en realizar una lectura de un caracteres por consola en Java. Posteriormente mostraremos, nuevamente por la consola, los caracteres leídos. Esto lo podríamos hacer apoyándonos sobre las librerías de streaming de Java. Pero con este simple código podremos leer de la consola sin tener mucho conocimiento.
Lo primero que tendremos que hacer es crear una aplicación Java de consola. Para ello simplemente necesitaremos de una clase y un método main. Por ejemplo:
public class LecturaCaracterConsola {
public static void main(String[] args) throws IOException {
}
}
La lectura se realiza mediante el método System.in.read(), el cual nos devolverá un número entero que es el ASCII del carácter introducido por teclado.
Lo que haremos será leer dentro de un bucle, hasta que el carácter que leamos por el teclado sea el «13». El código «13» representa el salto de línea, el cual, precedido del «10» (retorno de carro), nos indica que el usuario ha pulsado la tecla de «intro».
while (caracter!=13) {
caracter = System.in.read();
System.out.print((char)caracter);
}
Hay que fijarse que al volcar a la pantalla hemos hecho un «casting» del número para mostrar la representación ASCII. Esto lo conseguimos poniendo (char) antes de la variable.
System.out.print((char)caracter);
Lo único que nos quedará es controlar la excepción IOException. Dada la sencillez del ejemplo, simplemente nos limitaremos a lanzarla desde el método main.
ricardo
que tecla hay que apretar para escribir or en codigo en consola javascript con un hp elitebook 8460p teclado aleman.
gracias
tripichurla
Saludos,
Llevo bastante tiempo intentado capturar la entrada de una contraseña desde cmd.exe en un programa java (fragmento de codigo):
Console cons = System.console();
if (cons != null) {
char[] passwd = cons.readPassword(«Introduce tu contraseña: «);
credenciales[1] = passwd.toString();
}
Sería lógico que me mande un NullPointerException si lo ejecuto desde NetBeans pero el caso es que lo ejecuto desde cmd en windows7 con java 1.7 (java -jar miBot.jar) y me sigue dando NullPointerException. Alguna idea?¿
Víctor Cuervo
@jesus eduardo,
Tienes los ejemplos en…
Espero que te sirvan.
jesus eduardo
Como realizo un codigo eclipse de numeros par D: e inpar S:
que alo ultimo lo muestre en pantalla :D
Alexis
De cualquier modo ya me descargué en contra de mi host Grrrrr…
Andres
Muchas gracias alexis :)
Alexis
No sé exactamente qué sucedió pero anoche lo dejé arriba. Lo más probable es que levantaron un backup en mi host :’-(
Está nuevamente arriba estimado. Intente ahora
Andres
Alexis intente descargarlo y no pude alguna solucion¿?¿?
Me envia a una pagina de busqueda de Google
Alexis
Estimado subí la traducción de su código de C a Java.
Puede rescatarlo desde mi sitio Web.
http://alexisleiva.com/
No se lo que hace exactamente pero puedes depurarlo tu mismo.
El enlace directo al archivo Java es:
http://alexisleiva.com/desarrollos/Aportes/MainJava.java
Saludos.
Alexis Leiva.
Andres
aca te dejo el codigo si me podes ayudar te lo re agradeceria
http://www.mediafire.com/?27niga54sj012pk
Alexis Leiva
Andrés podrias indicar cual es el codigo? haber si es posible ayudar
Andres
tengo un codigo fuente en c y necesito pasarlo a java…me podes ayudar?
[email protected]
ren
Lo compile en netbeans y se encicla no sale del ciclo while le cambie el codigo ascii a 10 para que nada mas leyera una linea
Juan
necestio saber como hacer un totito chino
abner
ps NECESITO saber como se hace un totito chino, osea, CADA PUNTO QUE HAY QUE HACER eso es lo que no se como se hace, con vectores,si pero el punto en si para que me lea cuando le de click eso no se como hacerlo?
DuRaN
hola me gustaria saber como pasar un caracter (char) a su correspondiente en ASCII, en java.
gracias.
jose luis espinosa reyes
NECESITO AYUDA POR FAVOR!!!!!!1
como hago un programa que traduzca código hecho en lenguaje C al lenguaje de programación Java.
• Un archivo con la extensión .c que es el programa a leer.
• Un archivo con la extensión .java que es el resultado de la traducción de un archivo leído en lenguaje C.
ejemplo:
#include
#include
#include
main (){
clrscr();
int a,b,c;
float x1,x2,raiz;
printf(«\n\n\n Introduce El Valor De a:»);
scanf(«%d»,&a);
printf(«\n\n\n Introduce El Valor De b:»);
scanf(«%d»,&b);
printf(«\n\n\n Introduce El Valor De c:»);
scanf(«%d»,&c);
raiz = sqrt((b*b)-(4*a*c)); // calcula la raiz cuadrada
if(raiz<0){
printf("\n\n\n No Se Puede Realizar Esta Operacion");
}
else{
x1= (-b+raiz)/(2*a);
x2= (-b-raiz)/(2*a);
printf("\n\n\n\n * El Valor De x1 Es : %f",x1);
printf("\n\n * El Valor De x2 Es : %f",x2);
}
getch();
return 0;
}
LES AGRADECERI MUSISIMOSSS PORFAAA————
Alexis Leiva
He tenido problemas con Double.parseDouble(args[1]) cuando el doy como input 0.01 por ejemplo, me responde
C:\….bin>java -jar d:mst.jar 1 0.1 1
java.lang.NumberFormatException: For input string: «0.1»
como puedo entregarle ese Double? es algo raro que reclame por eso :s
zorro
hola, a todos por ahi tendran un programa que ejecute ecuaciones de primer grado con formula general, que explique el procedimiento o algo que se acerque a eso.
tambien algo donde me indique como puedo crear un menu de seleccion, gracias todo con java
Marcelo Aliaga
Y que sucede cuando hay datos anteriores en el buffer?
Saludos!
javier
como cambiar de color en la consola
es decir
menu(en rojo)
1-
2-
3-
…
gracias
Gonzalo Ron
Acabo de correr exactamente el codigo que me enviastes y corre sin problemas. Debes tener un problema de NullPointerException en otro sitio. Cuando utilizas la clase Console NO tienes que usar ningun try catch.
Un problema de NullPointerException ocurre cuando posees una referencia con valor null y tratas de acceder a alguno de sus metodos o atributos. Si quieres enviame el pedazo de codigo y te ayudo. Mi correo personal es [email protected]
Eduardo Ballesteros
Que pena tanta molestia ya intente implementar estos metodos de console
Console console = System.console();
String username = console.readLine(«Usuario? «);
estoy trabajando con eclipse, y no me marca errores, pero al momento de ejecutar tengo un NullPointerExeception
gracias
Tengo que implementar algo de try catch?????
Gonzalo Ron
La versión de Java 1.6 incluyó una nueva clase llamada Console, con métodos muy útiles para la impresión y captura de la consola.
Haces lo siguiente:
Console miConsola = System.console();
y ya con el objeto de tipo Console se pueden invocar metodos muy utiles como readLine(), readPassword(), printf(), etc.
El metodo printf es muy util porque es parecido el printf que se utiliza en Lenguaje C.
Revisa la API y vas a poder ver que esta clase es de mucha utilidad.
Saludos.
P.D. Te recomiendo este foro que es bastante activo en cuanto a Tecnologia Java: http://espanol.groups.yahoo.com/group/SoloJava/
Eduardo Ballesteros
Excelente tu pagina, me han gustado las expliaciones, pero me surge una duda, el metodo System.in.read() solo lee de a un solo caracter????, no existe la posbilidad de leer digamos 3 digitos y haga concatenacion de estos, me explico necesito leer por consola digamos el numero 999 como hago????
Muchas gracias
Gonzalo Ron
String linea = System.console().readLine();
A partir de la version 1.6
Yenier
como hago aplicaciones que corran en la pantallita negra de la consola . Digamos que quiero que me traduzcan este codigo de c++ a java porque no se como manejar el flujo de datos en java . Yo estoy aprendiendo en el NetBeans
este es el codigo a traducir
int entero ;
cin >> entero ;
cout
erika
hola necesito algo muy simple alguien me puede ayudar con un ejercicio que me muestre 10 edades digitadas y al final me diga cual es mayor de edad hecho en java
nuse
Muy mal explicado, haber, si es un tutorial muy sencillo para novatos a que viene esta explicación tan rara? Es decir, lo del control de errores un novato flipará en colores asi explicado, de hecho siguien exáctamente lo que dices da error XD, explicate mejor que los novatos fliparán con este tutorial.
lineadecodigo
Este código es muy sencillo y está orientado al aprendizaje. Si quieres hacer lecturas más avanzadas te recomiendo que te leas Lectura de datos por consola en Java.
En este se explica como leer String, las cuales puedes convertir a Double de forma muy sencilla.
ichramm
de esta forma puedo leer un double??
es decir, puedo guardar los char en un string y luego parsearlos
alguna ayuda con el codigo??