elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 23:40  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Problema con secuencia de escape Ctrl + z
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con secuencia de escape Ctrl + z  (Leído 3,021 veces)
novalida

Desconectado Desconectado

Mensajes: 131


Ver Perfil
Problema con secuencia de escape Ctrl + z
« en: 21 Agosto 2009, 19:23 »

Buenas....

tengo el siguiente código:

Código:
import java.io.*;
public class CMediana {

public static void main(String[]args)
{

int temp = 0;
int i = 0;
int nElementos = 0;

final char eof = (char)-1;


do{
System.out.print("Cuántos elementos tendrá la serie? ");
nElementos = Leer.datoInt();
}while(nElementos < 1);


int []m = new int [nElementos];

System.out.println("Introduzca una serie de números");
System.out.println("Para salir pulse [Ctrl][z]");

do{
System.out.print("Número " + (i+1) + ": ");
m[i] = Leer.datoInt();
i++;
}while(i < m.length && m[i] != eof);
}
}

La clase Leer es una clase creada para leer los datos de tipo "int".

El problema es que cuando puslo Ctrl + z el resultado es el siguiente (por ejemplo):

Cuántos elementos tendrá la serie? 6
Introduzca una serie de números
Para salir pulse [Ctrl][z]
Número 1: 23
Número 2: 54
Número 3: 2
Número 4: Número 5: Número 6:

El resultado que me gustaría que fuese al pular la secuencia de salida del programa es el siguiente:

Cuántos elementos tendrá la serie? 6
Introduzca una serie de números
Para salir pulse [Ctrl][z]
Número 1: 23
Número 2: 54
Número 3: 2
Número 4:

¿Alguien me puede ayudar por favor??? :)


En línea
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: Problema con secuencia de escape Ctrl + z
« Respuesta #1 en: 22 Agosto 2009, 01:47 »

Citar
Número 4: Número 5: Número 6:

Por eso que te imprime, pienso que te hace falta "\n" (nueva línea) solo que no sé bien en donde.
Cómo has logrado que el programa termine?? (ctrl+z)?? como haces eso??
(Creo que eso requiere programacion orientada por eventos, en este caso seria al pulsar las teclas Control+z).

De todos modos hice esto espero que sirva de algo. Modifiqué un poco tu clase  ;D

Código:
import java.io.*;

public class CMediana {

public static void main(String[]args)throws IOException
{
BufferedReader B = new BufferedReader(new InputStreamReader(System.in));
   
int temp = 0;
int i = 0;
int nElementos = 0;

final char z = (char)122;

do{
System.out.print("Cuántos elementos tendrá la serie? ");
String e = B.readLine();
if(esEntero(e))
nElementos = Integer.parseInt(e);
}while(nElementos < 1);


int []m = new int [nElementos];

System.out.println("Introduzca una serie de números");
System.out.println("Para salir pulse [Ctrl][z]");

do{
System.out.print("Número " + (i+1) + ": ");
String c = B.readLine();
if(esEntero(c))
{
m[i] = Integer.parseInt(c);
}
else if(c.charAt(0)==z || !esEntero(c) ){
for(int j=i+1; j<m.length; j++)
System.out.println("Número " + (j+1) + ": ");
i = m.length;
}
i++;
}while(i < m.length && m[i] != z);
}

public static boolean esEntero(String c)
{
try
{
Integer.parseInt(c);
return true;
}catch(Exception e)
{
return false;
}
}
}

Bueno en este caso reconoce la z o cualquier caracter(si asi lo deseas). Y al hacer esto te queda así.

Código:
Cuántos elementos tendrá la serie? 6
Introduzca una serie de números
Para salir pulse [Ctrl][z]
Número 1: 1
Número 2: 2
Número 3: z
Número 4:
Número 5:
Número 6:

Process completed.

Saludos


« Última modificación: 22 Agosto 2009, 01:49 por Darhius » En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
R E I S U B, la secuencia de escape para emergencias en sistemas Linux
Noticias
wolfbcn 2 827 Último mensaje 2 Enero 2012, 01:21
por beholdthe
Diferencias entre usar caracter o secuencia de escape
Programación C/C++
Caster 5 543 Último mensaje 29 Enero 2012, 13:10
por Caster
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines