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

Error inexistente en debug

Estas en el tema de Error inexistente en debug en el foro de Java en Foros del Web. Hola copañeros: Os escribo porqe tengo un problema con un ejercicio de un curso de java el cual consiste en crear una clase Alumno y ...
  #1 (permalink)  
Antiguo 01/01/2013, 15:10
Avatar de Hateoner  
Fecha de Ingreso: octubre-2012
Ubicación: Madrid, Spain
Mensajes: 7
Antigüedad: 11 años, 5 meses
Puntos: 1
Error inexistente en debug

Hola copañeros:

Os escribo porqe tengo un problema con un ejercicio de un curso de java el cual consiste en crear una clase Alumno y utilizarla con el resto de ejercicios anteriores. El problema es que si ejecuto el programa tal cual cuando llega a una sentencia case 5: de un bucle switch se salta las sentencias dentro de ese bloque hasta el break; que cierra ese bloque, pero el break; lo ejecuta porque sale del bucle, pero si lo ejecuto en modo de depuracion para ver el fallo cuando el método que le paso como condición vale 5 el bloque de sentencias se ejecuta perfectamente y el programa funciona como debe funcionar. A continuación os dejo la clase principal del proyecto para que veais so todo esta bien escrito. si necesitais algún archivo más de proyecto, decidmelo y subo un zip. Muchas gracias de antemano y feliz año 2013 a todos.

Código:
package exitae.unidad2;

import java.util.Scanner;

public class Main{
	
	private static Scanner scan = new Scanner(System.in);
	static Escuela uni;
	public static void main(String[] args) {

		uni = new Escuela();
		Alumno tmpA = new Alumno();		
		Profesor tmpP = new Profesor();
		uni.add(tmpP);
		uni.add(tmpA);
		int resul = pintamenu();
		while(resul!=0){
			switch (resul){
				case 1:
					assign();
					resul = pintamenu();
					break;
				case 2: 
					tmpA = new Alumno();
					uni.add(tmpA);
					resul = pintamenu();
					break;
				case 3:
					tmpP = new Profesor();
					uni.add(tmpP);
					resul = pintamenu();
					break;
				case 4:
					Aula tmpAula = new Aula();
					uni.add(tmpAula);
					resul = pintamenu();
					break;
				case 5: // Aquí da el fallo
					System.out.print("- "); // esto no se ejecuta si no en debug
					muestra(); //esto tampoco
					resul = pintamenu();// esto ya si
					break;
				default:
					if(pintamenu()==0){
						System.exit(0);
					}else {
						System.out.println("Error: Numero introducido no valido");
						resul = pintamenu();
						break;
					}
			}
		}	
	}
	public static void muestra() {
			System.out.println("Informe de estado");
			System.out.println(".................");
			System.out.println("");
		for (int i=0;i<uni.getProfesores();i++){
			String nm=uni.prof.get(i).getName(),ap=uni.prof.get(i).getApe();
			
			System.out.println("El profesor: " + nm + " " + ap + " de la escuela " + uni.getName() + " está a cargo de los Alumnos: ");
			System.out.println("...................................");
			System.out.println();
			for(int j=0;j<uni.prof.get(i).alumnosasucargo.size();j++){
				String nam=uni.prof.get(i).alumnosasucargo.get(j).getName();
				String ape=uni.prof.get(i).alumnosasucargo.get(j).getApe();
				int age=uni.prof.get(i).alumnosasucargo.get(j).getEdad();
				String cur=uni.prof.get(i).alumnosasucargo.get(j).getCurso();
				int not=uni.prof.get(i).alumnosasucargo.get(j).getNota();
				System.out.println("--> " + nam + " " + ape + " de " + age + " años, cursando " + cur	 + " con un nota media actual de: " + not);
				System.out.println();
				
			}
		}	
		System.out.println();
		System.out.println("La escuela: " + uni.getName() + " tiene " + uni.getAulas()+" Aulas");
		System.out.println();
		for (int x=0;x<uni.getAulas();x++){
			int sizetmp = uni.aulas.get(x).getSize();
			System.out.println("Aula: " +(x+1)+ " tamaño: " + sizetmp);
		}
		System.out.println();
	}
	public static void assign() {
		System.out.println("¿Qué alumno asignar a un profesor?");
		System.out.println(".................................");
		System.out.println();
		for (int i=0;i<Alumno.alumnos.size();i++){
			System.out.println(i + " . " + Alumno.alumnos.get(i).getName() + " " + Alumno.alumnos.get(i).getApe());
		}
		System.out.println();
		System.out.print("Introduzca un numero de alumno: ");
		int a = scan.nextInt();
		scan.nextLine();
		System.out.println();
		System.out.println();
		Alumno al = Alumno.getalumbyid(a);
		
		System.out.println("¿A qué profesor?");
		System.out.println("................");
		System.out.println();
		for(int j=0;j<uni.prof.size();j++){
			System.out.println(j + " . " + uni.prof.get(j).getName() + " " + uni.prof.get(j).getApe());	
		}
		System.out.println();
		System.out.print("Elija un profesor: ");
		int p = scan.nextInt();
		scan.nextLine();
		System.out.println();
		System.out.println();
		Profesor pr = Profesor.getprofbyid(p);
		pr.assignAlumno(al);
		
	}
	static public int pintamenu(){
		System.out.println("1 - Asignar alumno a profesor");
		System.out.println("2 - Nuevo Alumno");
		System.out.println("3 - Nuevo Profesor");
		System.out.println("4 - Nueva Aula");
		System.out.println("5 - ver todos los profesores y sus alumnos");
		System.out.println("-----------------------------");
		System.out.println("0 - Salir.");
		System.out.println("");
		System.out.print("Elige una opción: ");
		int e = scan.nextInt();
		scan.nextLine();
		System.out.println();
		System.out.println();
		return e;
	}
}

Etiquetas: clase, debug, programa, string
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:05.