Java - Ejercicio en java

 
Vista:
Imágen de perfil de Ejercicio en java, saber que hacer ?

Ejercicio en java

Publicado por Ejercicio en java, saber que hacer ? (18 intervenciones) el 06/10/2022 16:18:50
buen día, estoy aprendiendo a programar , me ayudan a con este ejercicio, saber que hacer ?

Un amigo funcionario nos pide que le hagamos un informe para sus informes. Debemos gestionar informes que están formados de un código numérico y una tarea que pueden ser ADMINISTRATIVO, EMPRESARIAL y PERSONAL. Debe comprobarse que la tarea es alguna de estas.
Nuestro amigo quiere que seamos capaz de agregar y eliminar informes en forma de pila (el último en entrar es el primero en salir). Agrega 10 informes y muestra su contenido, elimina todo el contenido y agrega de nuevo 5 informes
Poder consultar los informes añadidps a una tarea en especifica, es decir:
Si ingreso 5 informes administrativos, 3 empresariales y 2 personales, poder solo consultar los 5 informes administrativos
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

Ejercicio en java

Publicado por carl (1 intervención) el 06/10/2022 23:12:07
ejercicio resuelto
package S2Actividad5;

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

int opcion;
ArrayList<Informe> informes = new ArrayList<>();
Scanner scanner = new Scanner(System.in);

do {

System.out.println("\nInformes");
System.out.println("=========================");
System.out.println("1. Agrega 10 informes y muestra su contenido, elimina todo el contenido");
System.out.println("2. Agrega de nuevo 5 informes.");
System.out.println("3.Salir.");
System.out.print("Ingrese la opción:");
opcion = scanner.nextInt();

switch (opcion) {
case 1:
System.out.println("\n10 Informes");

// Creamos los informes
Informe informe1 = new Informe(002,2);
Informe informe2 = new Informe(122,0);
Informe informe3 = new Informe(033,1);
Informe informe4 = new Informe(021,1);
Informe informe5 = new Informe(050,0);
Informe informe6 = new Informe(066,0);
Informe informe7 = new Informe(054,0);
Informe informe8 = new Informe(015,2);
Informe informe9 = new Informe(012,1);
Informe informe10 = new Informe(111,1);

// Agregar los informes a la lista
informes.add(informe1);
informes.add(informe2);
informes.add(informe3);
informes.add(informe4);
informes.add(informe5);
informes.add(informe6);
informes.add(informe7);
informes.add(informe8);
informes.add(informe9);
informes.add(informe10);

// Recorrer la lista
for (Informe i : informes) {
System.out.println(i.toString());
}

// Eliminar la lista
for(int i=9; i>=0;i--){
informes.remove(i);
}
break;
case 2:
System.out.println("\n5 Informes");
// Creamos los informes
Informe informe11 = new Informe(005,2);
Informe informe12 = new Informe(010,0);
Informe informe13 = new Informe(023,1);
Informe informe14 = new Informe(044,1);
Informe informe15 = new Informe(007,0);


// Agregar los informes a la lista
informes.add(informe11);
informes.add(informe12);
informes.add(informe13);
informes.add(informe14);
informes.add(informe15);

// Recorrer la lista
informes.forEach((informe) -> {
System.out.println(informe.toString());
});

break;
case 3:
System.out.println("Programa Finalizado\n");
break;
default:
System.out.println("Error: " + opcion + " no es una opción válida.\n");
}

}
while (opcion != 3);
scanner.close();

}

}
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
Imágen de perfil de lan_385

Ejercicio en java

Publicado por lan_385 (8 intervenciones) el 10/10/2022 15:23:50
Hola, aunque también existe Queue, lo he hecho con Stack.
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
public class Informe {
    private String codigo;
    private int tarea;
 
    public Informe(){ /* vacio */ }
 
    public Informe(String codigo,int tarea){
        this.codigo=codigo;
        this.tarea=tarea;
    }
 
    public String getCodigo() {
        return codigo;
    }
 
    public int getTarea() {
        return tarea;
    }
 
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
 
    public void setTarea(int tarea) {
        this.tarea = tarea;
    }
 
    @Override
    public String toString(){//no claro los dos ceros
        if(tarea==1){
            return String.format("Codigo: %s\nTarea: %d", codigo,tarea);
        }else if(tarea==2){
            return String.format("Codigo: %s\nTarea: %d", codigo,tarea);
        }else{
            return String.format("Codigo: %s\nTarea: %d", codigo,tarea);
        }
    }
 
}
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
public class Principal {
    static Scanner sc=new Scanner(System.in);
    static Stack<Informe> pila=new Stack<>();
 
    public static void main(String[]args){
        int opcion=0;
        do{
            menu();
            opcion=Integer.parseInt(sc.nextLine());
            switch(opcion){
                case 1:
                    System.out.println("CREAR 10 INFORMES.");
                    Informe i1=new Informe("a001",1);
                    Informe i2=new Informe("e001",2);
                    Informe i3=new Informe("e002",2);
                    Informe i4=new Informe("a002",1);
                    Informe i5=new Informe("p001",3);
                    Informe i6=new Informe("a003",1);
                    Informe i7=new Informe("a004",1);
                    Informe i8=new Informe("a005",1);
                    Informe i9=new Informe("p002",3);
                    Informe i10=new Informe("e003",2);
                    pila.push(i1);
                    pila.push(i2);
                    pila.push(i3);
                    pila.push(i4);
                    pila.push(i5);
                    pila.push(i6);
                    pila.push(i7);
                    pila.push(i8);
                    pila.push(i9);
                    pila.push(i10);
                    break;
                case 2:
                    System.out.println("ELIMINAR 5 INFORMES.");
                    for(int i=0;i<5;i++){
                        pila.pop();
                    }
                    break;
                case 3:
                    System.out.println("VER INFORME.");
                    System.out.print("Introduzca el código del informe a ver: ");
                    String codigo=sc.nextLine();
 
                    Informe solicitado=null;
                    for(Informe inf:pila){
                        if(inf.getCodigo().equals(codigo)){
                            solicitado=inf;
                        }
                    }
                    if(solicitado==null){
                        System.out.println("No existe informe con dich código.");
                    }else{
                        System.out.println("Informe: "+solicitado);
                    }
 
 
                    break;
 
                case 4:
                    System.out.println("LISTAR INFORMES.");
                    for(Informe inf:pila){
                            System.out.println(inf);
                    }
                    break;
                case 5:
                    System.out.println("LISTAR INFORMES POR TIPO.");
                    System.out.print("Introduzca el tipo de informe a ver: ");
                    int tipo=Integer.parseInt(sc.nextLine());
                    for(Informe inf:pila){
                        if(tipo==inf.getTarea()){
                            System.out.println(inf);
                        }
                    }
                    break;
                case 6:
                    System.out.println("SALIR.");
                    break;
                default:
                    System.out.println("Valor incorrecto.");
                    break;
            }
        }while(opcion!=6);
    }
 
    public static void menu(){
        System.out.print("MENU:\n1.- Crear informe\n2.- Eliminar informe\n3.- Ver informe\n"
                + "4.- Listar informes\n5.- Listar informes por tipo\n6.- Salir\n"
                + "Indique la opción.\n");
    }
 
}
Saludos
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
Imágen de perfil de lan_385

Ejercicio en java

Publicado por lan_385 (8 intervenciones) el 11/10/2022 11:25:58
Una pequeña modificación en mi código anterior. En el método toString() en el return hay que susittuir tarea por Adminstrativo, E mpresarial o personal.
Un saludo
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