elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  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 6,112 veces)
novalida

Desconectado Desconectado

Mensajes: 155


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

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

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


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

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 am por Darhius » En línea

abc
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 2,028 Último mensaje 2 Enero 2012, 01:21 am
por beholdthe
Diferencias entre usar caracter o secuencia de escape
Programación C/C++
Caster 5 2,422 Último mensaje 29 Enero 2012, 13:10 pm
por Caster
escape jquery
Desarrollo Web
kakashi20 3 1,812 Último mensaje 27 Febrero 2013, 03:52 am
por it3r
Ayuda con problema escolar, secuencia aritmetica
Programación C/C++
l3mm 3 1,108 Último mensaje 28 Mayo 2020, 23:39 pm
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines