Java - ayuda proyecto arrays (código corregido)

 
Vista:
sin imagen de perfil

ayuda proyecto arrays (código corregido)

Publicado por Artlex (2 intervenciones) el 10/02/2017 22:37:21
Hola a todos! Primero de nada decir que he empezado a programar este curso en java y que lo que para mi sea díficil para vosotros será pan comido. Tengo que realizar un proyecto para el miercoles (bachillerato) usando arrays, algo que casi no hemos trabajado y nos ha dicho que nos las arreglemos. Aquí os pongo el ejemplo de codigo que nos ha dado: se tiene que parecer a esto:

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
public class praktika_eskola
{
   static void inizializatuIzenak(String[] izenak)
   // Subprograma honek String array bat jasotzen du eta izenekin betetzen du
   {
      for (int i = 0; i < izenak.length; i++)
      {
         System.out.println ("Idatzi " + i + " ikaslearen izena");
         izenak = Laguntzak.irakurriKatea();
      }
   }
 
   static void inizializatuNotak(int[] notak)
   // Subprograma honek int array bat jasotzen du eta notekin betetzen du
   {
      for (int i = 0; i < notak.length; i++)
      {
         System.out.println ("Idatzi " + i + " ikaslearen nota");
         notak = Laguntzak.irakurriOsokoa();
      }
   }
 
   static void erakutsiGela(String[] izenak, int[] notak)
   // Subprograma honek int array bat jasotzen du eta notekin betetzen du
   {
      for (int i = 0; i < izenak.length; i++)
      {
         System.out.println ("Ikasle " + izenak + "-k nota hau atera du: " + notak);
      }
   }
 
 
   public static void main (String [ ] args)
   {
      // A gela
      String aIzenak[] = new String[2];
      int aNotak[] =new int[2];
      //B gela
      String bIzenak[] = new String[3];
      int bNotak[] =new int[3];
 
      int auk;
 
      do
      {
         System.out.println ("*** MENU NAGUSIA ***");
         System.out.println ("Aukerak:");
         System.out.println ("1 Sartu A gelakoen izenak");
         System.out.println ("2 Sartu B gelakoen izenak");
         System.out.println ("3 Sartu A gelakoen notak");
         System.out.println ("4 Sartu B gelakoen notak");
         System.out.println ("5 Erakutsi A gelakoen izenak eta notak");
         System.out.println ("6 Erakutsi B gelakoen izenak eta notak");
         System.out.println ("7 Kalkulatu A gelako batez bestekoa");
         System.out.println ("8 Kalkulatu B gelako batez bestekoa");
         System.out.println ("9 A gelako notarik onena");
         System.out.println ("10 B gelako notarik onena");
         System.out.println ("11 A gela notaren arabera ordenatu");
         System.out.println ("12 B gela notaren arabera ordenatu");
         System.out.println ("***");
         System.out.println ("0 ateratzeko");
         auk = Laguntzak.irakurriOsokoa ();
 
         switch (auk)
         {
            case 0: System.out.println ("Agur!");
            case 1: inizializatuIzenak (aIzenak); break;
            case 2: inizializatuIzenak (bIzenak); break;
            case 3: inizializatuNotak (aNotak); break;
            case 4: inizializatuNotak (bNotak); break;
            case 5: erakutsiGela (aIzenak, aNotak); break;
            case 6: erakutsiGela (bIzenak, bNotak); break;
 
            default: System.out.println ("ez dugu zure erantzuna ulertu!");
         }
 
      } while (auk != 0);
 
 
    } /* main   */
 
} /* klasea bukatuta  */

Todos los nombres están en vasco y lo laguntzak... es para que lea el caracter aquí os dejo el código:


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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
import java.io.*;
 
 
 
/**

Klase honek sarrera eta irterako gailuak erabiltzea bideratzen du. Metodoak static dira,

beraz, ez da objekturik sortu behar beraiek erabili ahal izateko. Metodook, Javako

oinarrizko datu-motak irakurtzeaz gain, akats-kontrol sistema bana daukate datu egokiak

ondo sartu arte etsitzen ez duena

*/
 
public class Laguntzak
 
{
 
  /**

  Osoko zenbaki bat irakurtzen du teklatutik (32 bit = -2147483648 <-> 2147483648).

  @return Teklatuan idatzitako zenbaki osokoa bueltatuko du.

  */
 
   public static int irakurriOsokoa()
 
   {
 
      InputStreamReader isr = new InputStreamReader(System.in);
 
      BufferedReader br = new BufferedReader(isr);
 
      Integer osokoBat = null;
 
      boolean akatsa = true;
 
      do
 
      {
 
         try
 
         {
 
            String kateBat = br.readLine();
 
            osokoBat = new Integer(kateBat);
 
            akatsa = false;
 
         }
 
         catch(NumberFormatException nfe)
 
         {
 
            System.out.println("Ez duzu zenbaki osoko bat idatzi; errepikatu mesedez.");
 
         }
 
         catch (Exception e)
 
         {
 
            System.out.println("Sarrera-akatsa; errepikatu mesedez.");
 
         }
 
      }
 
      while(akatsa);
 
      return osokoBat.intValue();
 
   }
 
 
 
  /**

  Zenbaki ererrealBat bat irakurtzen du teklatutik.

  @return Teklatuan idatzitako zenbaki osokoa bueltatuko du.

  */
 
   public static double irakurriErreala()
 
   {
 
      InputStreamReader isr = new InputStreamReader(System.in);
 
      BufferedReader br = new BufferedReader(isr);
 
      Double errealBat = null;
 
      boolean akatsa = true;
 
      do
 
      {
 
         try
 
         {
 
            String kateBat = br.readLine();
 
            errealBat = new Double(kateBat);
 
            akatsa = false;
 
         }
 
         catch(NumberFormatException nfe)
 
         {
 
                  System.out.println("Ez duzu zenbaki erreal bat idatzi; errepikatu mesedez.");
 
         }
 
         catch (Exception e)
 
         {
 
            System.out.println("Sarrera-akatsa; errepikatu mesedez.");
 
         }
 
      }
 
      while(akatsa);
 
      return errealBat.doubleValue();
 
   }
 
 
 
  /**

  Karakter bat irakurtzen du teklatutik (8 bit = -128 <-> 127).

  @return Teklatuan idatzitako karakterra bueltatuko du.

  */
 
 
 
   public static char irakurriKarakterra()
 
   {
 
      char karakterra = 0;
 
      boolean akatsa = true;
 
      do
 
      {
 
         try
 
         {
 
            karakterra = (char)System.in.read();
 
            System.in.skip(System.in.available());
 
            akatsa = false;
 
         }
 
         catch (Exception e)
 
         {
 
            System.out.println("Sarrera-akatsa; errepikatu mesedez.");
 
         }
 
      }
 
      while(akatsa);
 
      return karakterra;
 
   }
 
 
 
  /**

  Karakter-kate bat (String) irakurtzen du teklatutik.

  @return Teklatuan idatzitako karakter-katea bueltatuko du.

  */
 
   public static String irakurriKatea()
 
   {
 
      InputStreamReader isr = new InputStreamReader(System.in);
 
      BufferedReader br = new BufferedReader(isr);
 
      String kateBat = null;
 
      boolean akatsa = true;
 
      do
 
      {
 
         try
 
         {
 
            kateBat = br.readLine();
 
            akatsa = false;
 
         }
 
         catch (Exception e)
 
         {
 
            System.out.println("Sarrera-akatsa; errepikatu mesedez.");
 
         }
 
      }
 
      while(akatsa);
 
      return kateBat;
 
   }
 
}


Lo que el programa hace es dar opciones( 1 para escribir nombre de la primera persona, 2 para escribir la nota y 3 para mostrarla etc...) y en funcion de lo que eligas calcula algo u otro. Por ejemplo nos ha dicho que podemos hacer algo parecido con una liga de fútbol. Calcular quien va primero, quien desciende etc.. pero no se como hacerlo así que os agradecería mucho que me ayudarais. He de decir que se como funciona un do while y los cases lo que no acabo de entender son los subprogramas y los array. Gracias!
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