Ver Mensaje Individual
  #13 (permalink)  
Antiguo 31/10/2010, 06:45
Avatar de Migu3
Migu3
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Utilizar variables de un metodo en otro

Código:
package main;

import java.util.Scanner;

public  class arreglox {

public String nombra;
    int limitalum;
    int limit;
    int  cantidadmats;
    int cantidadmat;
    Scanner reader = new Scanner(System.in);

    public  arreglox daralta(){
        
        Practica a=new Practica();

        System.out.println("Cuantos alumnos vas a dar de alta");
	int cantalum=reader.nextInt();
	String nombres[] = new String [cantalum];
	int datosdelestud[][]= new int[cantalum][2];
	this.limit = cantalum -1;
	int i,z;
	for(i=0;i<=limit;i++){
            System.out.println("Ingresa el nombre del alumno que esta en la posicion "+i);
            nombres[i] = reader.next();
            System.out.println("Inserta la edad del alumno ");
            datosdelestud[i][0]=reader.nextInt();
            System.out.println("Inserta el semestre del alumno");
            datosdelestud[i][1]=reader.nextInt();
        }
	for(i=0;i<=limit;i++){
            System.out.println("Cuantas materias llevara el alumno "+nombres[i]);
            this.cantidadmat = reader.nextInt();
            //ABAJO DE ESTA LINEA, ES EL LIMITE DE MATERIAS QUE YA SE AÑADIERON
            int limitmat = cantidadmat-1;
            String materias[][] = new String[cantalum][cantidadmat];
                for(z=0;z<=limitmat;z++){
                        System.out.println("Inserta el nombre de la materia #"+i);
                        materias[i][z]=reader.next();
                        i=i++;
                }
            System.out.println("Se ha finalizado de agregar el alumno, \n1)Cambiar semestre \n2)cambiar materias \n3)agregar Alumnos \n4)salir \n5)Regresar al Menu Principal");
            int oper = reader.nextInt();

            switch(oper){

                    case 1:
                            this.cambiarsem(limitmat,limitalum, cantalum, nombres, datosdelestud, materias);
                            break;
                    case 2:
                            this.cambiarmat(cantidadmats,limitmat,limitalum,cantidadmat, cantalum, nombres, datosdelestud, materias);
                            break;
                    case 3:
                            this.eliminaralum(limitmat, cantalum, nombres, datosdelestud, materias);
                            break;
                    case 4:
                            return daralta();
                    case 5:
			a.menu();
			break;
                    default:
                            break;
                    }
                                                            }
                    return daralta();
    }

    public void eliminaralum(int limitmat,int cantalum, String nombres[], int datosdelestud[][], String materias[][]){

    }

    public void cambiarsem(int limitmat,int cantalum,int limitalum, String nombres[], int datosdelestud[][], String materias[][]){
            int i;
            System.out.println("ID \t Lista de alumnos \t Edad \t Semestre \t Materias");
            limitalum = limit;
            for(i=0;i<=limitalum;i++){
                    System.out.print(i+"\t"+nombres[i]+"\t \t"+datosdelestud[i][0]+"\t \t"+datosdelestud[i][1]);
            }
            for(i=0;i<=limitalum;i++){
                    int z;
                    for(z=0;z<=limitmat;z++){
                            System.out.print("\t"+materias[i][z]);
                            i=i++;
                    }
            }
		System.out.println("¿Cual usuario desea modificar? Recuerde el ID");
		int modfalum =reader.nextInt();
		System.out.println("Ahora el usuario "+nombres[modfalum]+" procedera a cambiarse su semestre \n" +
				"el cual es "+datosdelestud[modfalum][1]);
		System.out.println("A que semestre te gustaria cambiarlo?");
		int semnew = reader.nextInt();
		datosdelestud[modfalum][1]=semnew;
		System.out.println("Alumno ha sido cambiado de semestre");
	}

	public void cambiarmat(int cantidadmats,int limitmat,int cantalum,int limitalum, int cantidadmat, String nombres[], int datosdelestud[][], String materias[][]){
		System.out.println("Bienvenido a la opcion cambiar materias, a continuacion se imprimira la lista de estud");
		int i;
		limitalum = limit;
		System.out.println("ID \t Lista de alumnos \t Edad \t Semestre \t Materias");
		for(i=0;i<=limitalum;i++){
			System.out.print(i+"\t"+nombres[i]+"\t \t"+datosdelestud[i][0]+"\t \t"+datosdelestud[i][1]);
		}
		for(i=0;i<=limitalum;i++){
			int z;
			for(z=0;z<=limitmat;z++){
				System.out.print("\t"+materias[i][z]);
				i=i++;
			}
		}
		System.out.println("Que alumno deseas cambiar? Pon el ID");
		int cambiar=reader.nextInt();
		System.out.println("Lista de materias del alumno "+nombres[cambiar]);
		for(i=0;i<=limitmat;i++){
			System.out.println(materias[cambiar][i]);
		}
		System.out.println("1)Si deseas añadir materias 2)Si deseas quitar materias");
		int opmat=reader.nextInt();
		if(opmat==1){
			System.out.println("Cuantas materias te gustaria añadir?");
			int añadirmat = reader.nextInt();
			this.cantidadmat = cantidadmat + añadirmat;
			for(i=0;i<=cantidadmat;i++){
//Lo de abajo segun yo, debe de identificarme los puestos vacios, como es un string, lo puse con comilla doble
				if(materias[cambiar][i]!=""){
					System.out.println("Escribe el nuevo nombre de la materia");
					materias[cambiar][i]=reader.next();
				}
			}
			//IMPRIMIR LA NUEVA LISTA

		}else if(opmat==2){

		}
	}



}


Código:
package main;

import java.util.Scanner;

public class Practica {

    Scanner reader = new Scanner(System.in);

	public void menu(){
            arreglox a = new arreglox();
            System.out.println( "Escribe la opcion que deseas: " +
                                    "\n     1)Dar de alta  \n     2)Eliminar alumno  \n     3)Imprimir alumnos  \n     4)Cambiar materias");
		int op=reader.nextInt();
		switch(op){
		case 1:
			a.daralta();
			break;
		case 2:
			this.eliminaralum();
			break;
		case 3:
			this.cambiarsem();
			break;
		case 4:
			this.cambiarmat();
			break;
		default:
			break;
		}
		}


		public void eliminaralum(){

		}

		public void cambiarsem(){

		}

		public void cambiarmat(){

		}

	public static void main (String args[]){
		Practica acc = new Practica();
		acc.menu();
	}

}

cambie tu leer. por reader como yo lo uso al igual que el dato por next
creo que lo hace por que escribes en .txt utiliza un ide es mas sencillo te recomiendo netbeans