Java - Manejo de archivos

   
Vista:

Manejo de archivos

Publicado por Daniela (2 intervenciones) el 14/11/2016 07:59:33
Disculpen alguien sabe como hacer este programa con array y que lo guarde en un archivo txt y me quede un menu asi:

1-Ingresar registro
2-leer registros
3-salir

CLASE PRINCIPAL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package grupo;
 
import mislibrerias.Alumno;
import mislibrerias.Lista;
 
/**
 *
 * @author Profesor
 */
public class Grupo {
 
    private static Alumno [] educando;
    private static Lista listado;
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
 
        int i=0;
        educando=new Alumno[4];
        listado=new Lista();
         for (i=0;i<educando.length;i++)
        {
         educando[i]=new Alumno();
        }
        for (i=0;i<educando.length;i++)
        {
         educando[i].ingresarAlumno();
        }
       educando=listado.ordenar(educando);
        listado.mostrarLista(educando);
    }
 
}


CLASE ALUMNO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
package mislibrerias;
import java.util.InputMismatchException;
import java.util.Scanner;
/**
 *
 * @author Profesor
 */
public class Alumno implements Comparable<Alumno> // se implementa Comparable, para particualarizar la comapración de Alumno, y se ejecute de forma correcta sort
{
    private String nombre;
    private String app;
    private String apm;
    private int boleta;
    private boolean sexo;
 
 
    public Alumno()
    {
        nombre=" ";
        app=" ";
        apm=" ";
        boleta=0;
        sexo=false;
    }
    public Alumno(int boleta, String nombre, String app, String apm,char sex)
    {
        this.nombre=nombre;
        this.app=app;
        this.apm=apm;
        this.boleta=boleta;
       if(sex=='F' || sex=='f')
       {
          this.sexo=false;
       }
       else if (sex=='M' || sex=='m')
       {
        this.sexo=true;
       }
 
    }
    public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    public String getApp() {
        return app;
    }
 
    public void setApp(String app) {
        this.app = app;
    }
 
    public String getApm() {
        return apm;
    }
 
    public void setApm(String apm) {
        this.apm = apm;
    }
 
    public int getBoleta() {
        return boleta;
    }
 
    public void setBoleta(int boleta) {
        this.boleta = boleta;
    }
 
    public boolean isSexo() {
        return sexo;
    }
 
    public void setSexo(char sex)
    {
 
        if(sex=='F' || sex=='f')
       {
          this.sexo=false;
       }
       else if (sex=='M' || sex=='m')
       {
        this.sexo=true;
       }
    }
      public char getSexo()
      {
          if(sexo==true)
          {
              return 'M';
          }
          else if(sexo==false)
          {
              return 'F';
          }
          return 0;
        }
 
 
    public void ingresarAlumno()
    {
        char sex=' ';
        String cadenasexo=" ";
 
        Scanner entradadato=new Scanner(System.in);
 
        do
        {
            System.out.print("Boleta: ");
            try
           {
            boleta=entradadato.nextInt();
           }
 
           catch (InputMismatchException e)
           {
                System.out.println("ERROR: Las boletas inician con 2 por el encontrarnos en el segundo milenio y solo acepta digitos");
                entradadato.next(); // esto se realiza para capturar el valor tipo caracter y evitar un valor null  
                boleta=0; // se iguala a un valor no valido por el factorial para ejecutar el while, dado que nos e cumplió por el error de tipo de dato  
           }
 
        } while(boleta<=0);
 
 
        System.out.print("Nombre: " );
        nombre=entradadato.next();
        System.out.print("Apellido Paterno: " );
        app=entradadato.next();
        System.out.print("Apellido Materno: " );
        apm=entradadato.next();
        do
        {
        System.out.print("Sexo (F/M): " );
        cadenasexo=entradadato.next();
        sex=cadenasexo.charAt(0);
 
        }while(sex !='F' && sex != 'f' && sex !='M' && sex != 'm' );
 
    }
 
    int compareToIgnoreCase(Alumno alumno) {
 
		// Comparamos las edades devolviendo -1 si es menos, 1 si es mayor
 
		// o 0 si son iguales
 
		if(this.nombre.compareTo(alumno.getNombre())<0)
 
			return -1;
 
		else if(this.nombre.compareTo(alumno.getNombre())>0)
 
			return 1;
 
		return 0;
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    @Override
    public int compareTo(Alumno alumno) {
 
        if(this.nombre.compareTo(alumno.getNombre())<0)
 
			return -1;
 
		else if(this.nombre.compareTo(alumno.getNombre())>0)
 
			return 1;
 
		return 0;
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
 
}

CLASE LISTA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package mislibrerias;
 
import java.util.Arrays;
 
/**
 *
 * @author Profesor
 */
public class Lista {
 
    public Alumno [] ordenar(Alumno [] objalumno)
 
    {
      Arrays.sort(objalumno);
      return  objalumno;
    }
 
    public void mostrarLista(Alumno [] objalumno)
    {
       int i;
       System.out.println("Lista Ordenada Alfabéticamente ascendentemente");
       for(i=0;i<objalumno.length; i ++)
        {
 
            System.out.print("Boleta:" + objalumno[i].getBoleta() + " Nombre: " + objalumno[i].getNombre() + " Ap.Paterno: " + objalumno[i].getApp() + " Ap.Materno: " + objalumno[i].getApm() + " Género: " + objalumno[i].getSexo());
            System.out.println("");
        }
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Elivar Oswaldo

Manejo de archivos

Publicado por Elivar Oswaldo elargor@gmail.com (2 intervenciones) el 14/11/2016 15:57:23
Hola Daniela, el menú lo puedes hacer utilizando una estructura de control repetitiva While, y dentro de esta un Switch para cada opción como se ve en el siguiente código, te faltaría implementar los métodos guardar y mostrar:

El tema de los archivos lo puedes revisar en este enlace hay un ejemplo de como almacenar archivos en txt: http://www.ecodeup.com/como-escribir-y-leer-archivos-de-texto-plano-en-java/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public static void main(String[] args) {
	Scanner opc = new Scanner(System.in);
	int op=0;
 
	while (op!=3) {
		System.out.println();
		System.out.println("<<1>> Ingresar registro");
		System.out.println("<<2>> leer registros");
		System.out.println("<<3>> salir");
 
		System.out.println("Ingrese una opción");
		op= opc.nextInt();
		switch (op) {
		case 1: ingresar(); // llamar  método para ingresar				
			break;
		case 2: // llamar  método leer			
			break;
 
		default:
			break;
		}
 
	}
 
}
public static void ingresar() {
	System.out.println("Método ingresar");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar