Java - Contador en un array

 
Vista:

Contador en un array

Publicado por Carl (1 intervención) el 23/10/2020 06:59:44
Hola, Necesito una ayuda, en el ejercicio me pide cantidad de vaca y cantidad de días en los que deben ser vacunadas, debo programarlo con la mayor cantidad de métodos posibles. Hasta ahora creo que vengo bien. Pero en un punto el problema me pide que muestre una lista con la cantidad de vacunas A y B para cada vaca en particular. Ejemplo Vaca: h. Vacuna A: 1, Vacuna B: 3. Pero el programa me devuelve la misma cantidad de vacunas para todas las vacas. El contador que creo no funciona correctamente. La idea es crear un método que cuenta las cantidad de vacunas A y B para cada vaca en particular y luego las muestra por consola. Una ayuda seria genial. El código esta en C#. Saludos!!!
Datos devueltos:
pn8iJTzTp

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
public static int carga_cantidad(string msj)
{
    Boolean control;
    int v = 0;
    do   //INGRESO CANTIDAD ALUMNOS; CONTROL DE ERRORES;
    {
        try
        {
            Console.WriteLine(msj);
            v = int.Parse(Console.ReadLine());
            if (v >= 1)
            {
                control = true;
            }
            else
            {
                control = false;
                Console.WriteLine("Error. Debe ingresar un valor mayor a 0");
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("ERROR DESDE EL CATCH");
            Console.WriteLine(e.Message);
            control = false;
        }
    } while (!control);
    return v;
}
 
public static string[,] Vacunas(int cant_dias, int cant_vacas)
{
    string[,] array_dias = new string[cant_vacas, cant_dias];
    return array_dias;
}
 
public static string[] Cantidad_vacas(int c_vacas)//1.a
{
    string[] cantidad_vacas = new string[c_vacas];
    return cantidad_vacas;
}
static void Main(string[] args)
{
    int cant_Vacas = carga_cantidad("Ingrese cantidad de Vacas)");
    int cant_Dias = carga_cantidad("Ingrrese cantidad de Dias");
    string[] array_Vacas = Cantidad_vacas(cant_Vacas);
    string[,] array_Dias = Vacunas(cant_Dias, cant_Vacas);
    Boolean bandera = false;
    string Vacuna_a = "a";
    string Vacuna_b = "b";
    int cont_vacuna_a = 0;
    int cont_vacuna_b = 0;
    for (int i = 0; i < cant_Vacas; i++)
    {
        Console.WriteLine("Ingrese una letra para nombrar a la vaca (No puede ser la letra A, B):   Vaca N º" + i + ";");
        array_Vacas[i] = Console.ReadLine();
        for (int s = 0; s < cant_Dias; s++)
        {
            try
            {
                do
                {
                    Console.WriteLine("Ingreso Vacuna: (A) o (B) :  Vacuna Nº " + s + "; ");
                    array_Dias[i, s] = Console.ReadLine();
                    if (array_Dias[i, s].Equals(Vacuna_a) || array_Dias[i, s].Equals(Vacuna_b))
                    {
                        if (array_Dias[i, s].Equals(Vacuna_a))
                        {
                            cont_vacuna_a += 1;
                        }
                        if (array_Dias[i, s].Equals(Vacuna_b))
                        {
                            cont_vacuna_b += 1;
                        }
                        bandera = true;
                    }
                    else
                    {
                        Console.WriteLine("Error");
                        bandera = false;
                    }
                } while (!bandera);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error");
                Console.WriteLine(e.Message);
                bandera = false;
            }
        }
        Console.WriteLine();
 
    }
    //muestra
    for (int i = 0; i < cant_Vacas; i++)
    {
        Console.WriteLine(" " + array_Vacas[i] + " Nº: " + i);
        for (int s = 0; s < cant_Dias; s++)
        {
            Console.WriteLine("Vacuna: " + array_Dias[i, s] + " Dia: " + s);
        }
        Console.WriteLine("Vaca: " + array_Vacas[i] + " Nº: " + i + " Cantidad Vacuna (A): " + cont_vacuna_a + " Cantidad Vacuna (B)" + cont_vacuna_b);
    }
 
}
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