elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  proyecto arrays, código corregido.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: proyecto arrays, código corregido.  (Leído 183 veces)
Artlex1234

Desconectado Desconectado

Mensajes: 1


Ver Perfil
proyecto arrays, código corregido.
« en: 10 Febrero 2017, 22:31 »

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:

Código
  1. public class praktika_eskola
  2. {
  3. static void inizializatuIzenak(String[] izenak)
  4. // Subprograma honek String array bat jasotzen du eta izenekin betetzen du
  5. {
  6. for (int i = 0; i < izenak.length; i++)
  7. {
  8. System.out.println ("Idatzi " + i + " ikaslearen izena");
  9. izenak[i] = Laguntzak.irakurriKatea();
  10. }
  11. }
  12.  
  13. static void inizializatuNotak(int[] notak)
  14. // Subprograma honek int array bat jasotzen du eta notekin betetzen du
  15. {
  16. for (int i = 0; i < notak.length; i++)
  17. {
  18. System.out.println ("Idatzi " + i + " ikaslearen nota");
  19. notak[i] = Laguntzak.irakurriOsokoa();
  20. }
  21. }
  22.  
  23. static void erakutsiGela(String[] izenak, int[] notak)
  24. // Subprograma honek int array bat jasotzen du eta notekin betetzen du
  25. {
  26. for (int i = 0; i < izenak.length; i++)
  27. {
  28. System.out.println ("Ikasle " + izenak[i] + "-k nota hau atera du: " + notak[i]);
  29. }
  30. }
  31.  
  32.  
  33. public static void main (String [ ] args)
  34. {
  35. // A gela
  36. String aIzenak[] = new String[2];
  37. int aNotak[] =new int[2];
  38. //B gela
  39. String bIzenak[] = new String[3];
  40. int bNotak[] =new int[3];
  41.  
  42. int auk;
  43.  
  44. do
  45. {
  46. System.out.println ("*** MENU NAGUSIA ***");
  47. System.out.println ("Aukerak:");
  48. System.out.println ("1 Sartu A gelakoen izenak");
  49. System.out.println ("2 Sartu B gelakoen izenak");
  50. System.out.println ("3 Sartu A gelakoen notak");
  51. System.out.println ("4 Sartu B gelakoen notak");
  52. System.out.println ("5 Erakutsi A gelakoen izenak eta notak");
  53. System.out.println ("6 Erakutsi B gelakoen izenak eta notak");
  54. System.out.println ("7 Kalkulatu A gelako batez bestekoa");
  55. System.out.println ("8 Kalkulatu B gelako batez bestekoa");
  56. System.out.println ("9 A gelako notarik onena");
  57. System.out.println ("10 B gelako notarik onena");
  58. System.out.println ("11 A gela notaren arabera ordenatu");
  59. System.out.println ("12 B gela notaren arabera ordenatu");
  60. System.out.println ("***");
  61. System.out.println ("0 ateratzeko");
  62. auk = Laguntzak.irakurriOsokoa ();
  63.  
  64. switch (auk)
  65. {
  66. case 0: System.out.println ("Agur!");
  67. case 1: inizializatuIzenak (aIzenak); break;
  68. case 2: inizializatuIzenak (bIzenak); break;
  69. case 3: inizializatuNotak (aNotak); break;
  70. case 4: inizializatuNotak (bNotak); break;
  71. case 5: erakutsiGela (aIzenak, aNotak); break;
  72. case 6: erakutsiGela (bIzenak, bNotak); break;
  73.  
  74. default: System.out.println ("ez dugu zure erantzuna ulertu!");
  75. }
  76.  
  77. } while (auk != 0);
  78.  
  79.  
  80. } /* main   */
  81.  
  82. } /* klasea bukatuta  */
  83.  
  84. Todos los nombres están en vasco y lo laguntzak... es para que lea el caracter aquí os dejo el código:
  85.  
  86.  
  87. import java.io.*;
  88.  
  89.  
  90.  
  91. /**
  92.  
  93. Klase honek sarrera eta irterako gailuak erabiltzea bideratzen du. Metodoak static dira,
  94.  
  95. beraz, ez da objekturik sortu behar beraiek erabili ahal izateko. Metodook, Javako
  96.  
  97. oinarrizko datu-motak irakurtzeaz gain, akats-kontrol sistema bana daukate datu egokiak
  98.  
  99. ondo sartu arte etsitzen ez duena
  100.  
  101. */
  102.  
  103. public class Laguntzak
  104.  
  105. {
  106.  
  107.  /**
  108.  
  109.   Osoko zenbaki bat irakurtzen du teklatutik (32 bit = -2147483648 <-> 2147483648).
  110.  
  111.   @return Teklatuan idatzitako zenbaki osokoa bueltatuko du.
  112.  
  113.   */
  114.  
  115. public static int irakurriOsokoa()
  116.  
  117. {
  118.  
  119.  
  120.  
  121. Integer osokoBat = null;
  122.  
  123. boolean akatsa = true;
  124.  
  125. do
  126.  
  127. {
  128.  
  129. try
  130.  
  131. {
  132.  
  133. String kateBat = br.readLine();
  134.  
  135. osokoBat = new Integer(kateBat);
  136.  
  137. akatsa = false;
  138.  
  139. }
  140.  
  141.  
  142. {
  143.  
  144. System.out.println("Ez duzu zenbaki osoko bat idatzi; errepikatu mesedez.");
  145.  
  146. }
  147.  
  148. catch (Exception e)
  149.  
  150. {
  151.  
  152. System.out.println("Sarrera-akatsa; errepikatu mesedez.");
  153.  
  154. }
  155.  
  156. }
  157.  
  158. while(akatsa);
  159.  
  160. return osokoBat.intValue();
  161.  
  162. }
  163.  
  164.  
  165.  
  166.  /**
  167.  
  168.   Zenbaki ererrealBat bat irakurtzen du teklatutik.
  169.  
  170.   @return Teklatuan idatzitako zenbaki osokoa bueltatuko du.
  171.  
  172.   */
  173.  
  174. public static double irakurriErreala()
  175.  
  176. {
  177.  
  178.  
  179.  
  180. Double errealBat = null;
  181.  
  182. boolean akatsa = true;
  183.  
  184. do
  185.  
  186. {
  187.  
  188. try
  189.  
  190. {
  191.  
  192. String kateBat = br.readLine();
  193.  
  194. errealBat = new Double(kateBat);
  195.  
  196. akatsa = false;
  197.  
  198. }
  199.  
  200.  
  201. {
  202.  
  203. System.out.println("Ez duzu zenbaki erreal bat idatzi; errepikatu mesedez.");
  204.  
  205. }
  206.  
  207. catch (Exception e)
  208.  
  209. {
  210.  
  211. System.out.println("Sarrera-akatsa; errepikatu mesedez.");
  212.  
  213. }
  214.  
  215. }
  216.  
  217. while(akatsa);
  218.  
  219. return errealBat.doubleValue();
  220.  
  221. }
  222.  
  223.  
  224.  
  225.  /**
  226.  
  227.   Karakter bat irakurtzen du teklatutik (8 bit = -128 <-> 127).
  228.  
  229.   @return Teklatuan idatzitako karakterra bueltatuko du.
  230.  
  231.   */
  232.  
  233.  
  234.  
  235. public static char irakurriKarakterra()
  236.  
  237. {
  238.  
  239. char karakterra = 0;
  240.  
  241. boolean akatsa = true;
  242.  
  243. do
  244.  
  245. {
  246.  
  247. try
  248.  
  249. {
  250.  
  251. karakterra = (char)System.in.read();
  252.  
  253. System.in.skip(System.in.available());
  254.  
  255. akatsa = false;
  256.  
  257. }
  258.  
  259. catch (Exception e)
  260.  
  261. {
  262.  
  263. System.out.println("Sarrera-akatsa; errepikatu mesedez.");
  264.  
  265. }
  266.  
  267. }
  268.  
  269. while(akatsa);
  270.  
  271. return karakterra;
  272.  
  273. }
  274.  
  275.  
  276.  
  277.  /**
  278.  
  279.   Karakter-kate bat (String) irakurtzen du teklatutik.
  280.  
  281.   @return Teklatuan idatzitako karakter-katea bueltatuko du.
  282.  
  283.   */
  284.  
  285. public static String irakurriKatea()
  286.  
  287. {
  288.  
  289.  
  290.  
  291. String kateBat = null;
  292.  
  293. boolean akatsa = true;
  294.  
  295. do
  296.  
  297. {
  298.  
  299. try
  300.  
  301. {
  302.  
  303. kateBat = br.readLine();
  304.  
  305. akatsa = false;
  306.  
  307. }
  308.  
  309. catch (Exception e)
  310.  
  311. {
  312.  
  313. System.out.println("Sarrera-akatsa; errepikatu mesedez.");
  314.  
  315. }
  316.  
  317. }
  318.  
  319. while(akatsa);
  320.  
  321. return kateBat;
  322.  
  323. }
  324.  
  325. }


Lo que el programa hace es dar opciones 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!


· Los códigos deben ir en etiquetas GeSHi
· No hagas doble post
>aquí las reglas del foro
-Engel Lex


« Última modificación: 10 Febrero 2017, 23:02 por engel lex » En línea

NEBIRE


Desconectado Desconectado

Mensajes: 510


Ver Perfil
Re: proyecto arrays, código corregido.
« Respuesta #1 en: 10 Febrero 2017, 23:00 »

Un array es una lista de datos del mismo tipo, que en principio están contiguos en memoria.
Si tengo una lista de 10 números que luego a la lotería (0 a 9), y quiero cambiar el 5º (el índice 4), por este valor: 34567... lo asignaría así:

NumLoteria(4)= 34567

Los arrays es una forma de almacenar muchos datos que son del mismo tipo. Con una sola variable, puedes contener muchos datos, en vez de usar una varible para cada uno, además si necesitas hacer algo con todos ellos, puedes usarlos en un bucle:

Hace con cada día en el array Semana
     print Semana(3)   \\escribe Miércoles, sponiendo que hemos creado y rellenado el array Semana.
fin hacer

Cuando tienes que pasar datos a una función, también es cómodo, porque pasas el array entero (en realidad la dirección en memoria del array), en vez de tener que pasar cada elemento individualmente...

Un subprograma, no es otra cosa que un trozo de código circunscrito. imagina un problema x, para resolver el problema, lo subdivides en pequeñas tareas, y cada tarea se le asigna un cometido específico... un subprograma entonces sería cada una de esas tareas, con la salvedad que queda encerrado en el código, aislado en funciones, propiedades, incluso clases... de hecho a cada una de estas pequeñas estructuras se le puede llamar también subprograma, aunque n en un sentido estricto, la idea es la misma. Una cantidad de código que tiene por iobjetido hacer determinada/s tarea/s... Imagina una máquina que expende latas de cerveza, un subprograma se encarga de revisar que las momendas sean legítimas y de ver qué cantidad se ha introducido, otra tarea puede comprobar si esa cantidad es adecuada para la cerveza, si no es así, señala que falta dinero o que se devuelve. Y otro subprograma podría tener encomendada la tarea de preparar las monedas que ha de devolver en el cambio, conforme a las que haya disponibles en la caja... en fn el reparto de tareas entre uno o más subprogramas, ya es cosa del diseño...


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines