Foros del Web » Programación para mayores de 30 ;) » Java »

Linea de Secuencias de Comando no se ejecuta bien

Estas en el tema de Linea de Secuencias de Comando no se ejecuta bien en el foro de Java en Foros del Web. Estimados; tengo esta parte del siguiente código. import java.awt.*; case 1: if(cuenta_objetos<curso.length) { System.out.println("Ingrese el rut del alumno"); rut=Leer.dato(); posicion=buscar(rut,curso); if(posicion==-1) { System.out.println("Ingrese el nombre ...
  #1 (permalink)  
Antiguo 22/08/2011, 20:33
Avatar de DiXoen  
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Linea de Secuencias de Comando no se ejecuta bien

Estimados; tengo esta parte del siguiente código.

import java.awt.*;


case 1:
if(cuenta_objetos<curso.length)
{
System.out.println("Ingrese el rut del alumno");
rut=Leer.dato();
posicion=buscar(rut,curso);
if(posicion==-1)
{
System.out.println("Ingrese el nombre del alumno");
nombre=Leer.dato();

System.out.println("Ingrese la direccion del alumno");
direccion=Leer.dato();

System.out.println("Ingrese la edad del alumno");
edad=Leer.datoInt();

System.out.println("Ingrese el sexo del alumno, M/Masculino - F/Femenino");
sexo=Leer.datoChar();

Persona uno=new Persona(nombre,rut,direccion,edad,sexo);

System.out.println("Ingrese la asignatura");
asignatura=Leer.dato();


System.out.println("Ingrese las 5 notas del alumno");
for (int i=0;i<notas.length;i++)
{
System.out.println("Ingrese la nota" +(i+1));
notas[i]=Leer.datoDouble();
}
Alumno pepito=new Alumno (uno,asignatura,notas);
for (int i = 0; i<curso.length; i++)
{
if(curso[i]==null)
{
curso[i]=pepito;
cuenta_objetos++;
System.out.println("Alumno ingresado");
break;
}
}
}

En la parte Marcada con rojo al compliar y ejecutar el programa: se muestra de la siguiente manera:

Maestro de Alumnos v1.3
¿Que desea hacer? Digite alguna opcion.
1: Ingresar Alumno
2: Ver Alumno
3: Modificar Alumno
4: Eliminar Alumno
5: Salir

1 (Opción digitada)
Ingrese el rut del alumno
12345 (Opción digitada)
Ingrese el nombre del alumno
Juan XYU (Opción digitada)
Ingrese la direccion del alumno
Troncal (Opción digitada)
Ingrese la edad del alumno
22 (Opción digitada)
Ingrese el sexo del alumno, M/Masculino - F/Femenino
M (Opción digitada)
Ingrese la asignatura --> En esta parte debería dejar ingresar algo, pero no me
deja, salta al tiro al ingreso de notas

Ingrese las 5 notas del alumno
Ingrese la nota1



Agradecería cualquier ayuda.

Saludos

DSE
  #2 (permalink)  
Antiguo 23/08/2011, 12:13
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 5 meses
Puntos: 454
Respuesta: Linea de Secuencias de Comando no se ejecuta bien

¿Y cual es el código de Leer.dato()?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 26/08/2011, 10:16
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años
Puntos: 1
Respuesta: Linea de Secuencias de Comando no se ejecuta bien

prueba cambiando de posicion a persona... ubicala encima de alumno...
  #4 (permalink)  
Antiguo 30/08/2011, 20:51
Avatar de DiXoen  
Fecha de Ingreso: agosto-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Linea de Secuencias de Comando no se ejecuta bien

Gracias Estimados, el problema estaba en Leer.Java.

Saludos.
  #5 (permalink)  
Antiguo 01/09/2011, 05:47
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 6 meses
Puntos: 188
Respuesta: Linea de Secuencias de Comando no se ejecuta bien

si no me equivoco de los tiempos en los que recibí los cursillos de java, este es un problema típico cuando abres un reader que espera que ingreses datos y luego no lo cierras.
  #6 (permalink)  
Antiguo 01/09/2011, 07:23
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 1 mes
Puntos: 260
Sonrisa Respuesta: Linea de Secuencias de Comando no se ejecuta bien

Hola,

Cita:
Iniciado por DiXoen Ver Mensaje
System.out.println("Ingrese el sexo del alumno, M/Masculino - F/Femenino");
sexo=Leer.datoChar();

Persona uno=new Persona(nombre,rut,direccion,edad,sexo);

System.out.println("Ingrese la asignatura");
asignatura=Leer.dato();
Cita:
Iniciado por Fuzzylog Ver Mensaje
si no me equivoco de los tiempos en los que recibí los cursillos de java, este es un problema típico cuando abres un reader que espera que ingreses datos y luego no lo cierras.
A mi me parece más que el problema era la lectura del retorno de carro. Posiblemente leyó un byte (M/F), el siguiente byte/char en el Buffer era un retorno de carro y lo recoge el siguiente read. Solo le sucede al leer un 'char', caso clásico en C/C++.

Saludos,

Etiquetas: comando, ejecuta, jar, linea, secuencias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:10.