Fecha y hora actual: Sábado 14 Dic 2019 14:39
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Duda con programa de suma de números por argumentos

El tema está bloqueado: no pueden editarse ni agregar mensajes.

Índice del Foro > Java > Duda con programa de suma de números por argumentos

Autor Mensaje
jamatbar
Usuario Iniciado


Registrado: 10 Oct 2011
Mensajes: 26

Mensaje Publicado: Martes 20 Oct 2015 11:26

Título del mensaje: Duda con programa de suma de números por argumentos

Responder citando

Buenas, tengo éste enunciado: .Realizar un programa en JAVA que realice la suma de varios números que se le pasan como argumentos.

El profesor lo ha hecho de ésta forma:

Código:
  1. package ejerciciosR2;
  2.  
  3. public class Ejercicio13 {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. int suma = 0;
  8.  
  9. for(int i = 0;i<args.length;i++){
  10. suma = suma+Integer.parseInt(args[i]);
  11. System.out.println(args[i]);
  12.  
  13. }
  14. System.out.println(suma);
  15. }
  16.  
  17. }


En el bucle entiendo que se inicializa una variable índice (i), la comparamos con la longitud del argumento para contabilizar los argumentos que debemos sumar.

Pero, no entiendo ésto:

Código:
  1. suma = suma+Integer.parseInt(args[i]);
  2. System.out.println(args[i]);


Entiendo que la suma se debe hacer así y que el Integer.parseInt es para convertir el argumento a entero, pero...¿por qué ese args[i] tanto en esa expresión como en el Syso?

Gracias de antemano y un saludo

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Kyshuo Ayame
Moderador Global


Registrado: 07 Ene 2011
Mensajes: 1046

Mensaje Publicado: Martes 20 Oct 2015 15:01

Título del mensaje: Duda con programa de suma de números por argumentos

Responder citando

Para entender esto tienes que entender arreglos (arrays). El método main es el punto de entrada del programa, es decir, ni bien ejecutas tu programa la máquina virtual hace un llamado a main y pasa como argumentos los que se hayan ingresados al ejecutar el programa.

El parámetro args en un arreglo de Strings, es decir, un arreglo que en cada posición tiene una palabra. Por ejemplo, digamos que tu programa se llama ejerciciosR2 y ya está compilado, y por tanto para ejecutarlo tú ingresas en la consola este comando:

Código:
  1. java ejerciciosR2


Es decir, ingresas la palabra java para llamar a la máquina de java, y luego el nombre de tu programa. Después del nombre del programa se ingresan los argumentos, que en este caso fueron nulos porque no ingresamos nada. Ahora supongamos este llamado:

Código:
  1. java ejerciciosR2 hola mundo


Hicimos el llamado al mismo programa pero ahora además ingresé dos argumentos: hola y mundo. Bien, estos argumentos se guardan en args, por tanto la posición 0 de args tiene la palabra hola, y la posición 1 de args tiene la palabra mundo. Digamos que args[0] es igual a hola y args[1] es igual a mundo.

Veamos ahora este llamado:

Código:
  1. java ejerciciosR2 10 25 23 24


Por tanto:

Código:
  1. args[0]==10
  2. args[1]==25
  3. args[2]==23
  4. args[3]==24


En tu código usas args[i] porque recorres el arreglo en un bucle for.

Espero que esto aclare tus dudas.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
jamatbar
Usuario Iniciado


Registrado: 10 Oct 2011
Mensajes: 26

Mensaje Publicado: Jueves 22 Oct 2015 22:39

Título del mensaje: Duda con programa de suma de números por argumentos

Responder citando

Kyshuo Ayame escribió:
Para entender esto tienes que entender arreglos (arrays). El método main es el punto de entrada del programa, es decir, ni bien ejecutas tu programa la máquina virtual hace un llamado a main y pasa como argumentos los que se hayan ingresados al ejecutar el programa.

El parámetro args en un arreglo de Strings, es decir, un arreglo que en cada posición tiene una palabra. Por ejemplo, digamos que tu programa se llama ejerciciosR2 y ya está compilado, y por tanto para ejecutarlo tú ingresas en la consola este comando:

Código:
  1. java ejerciciosR2


Es decir, ingresas la palabra java para llamar a la máquina de java, y luego el nombre de tu programa. Después del nombre del programa se ingresan los argumentos, que en este caso fueron nulos porque no ingresamos nada. Ahora supongamos este llamado:

Código:
  1. java ejerciciosR2 hola mundo


Hicimos el llamado al mismo programa pero ahora además ingresé dos argumentos: hola y mundo. Bien, estos argumentos se guardan en args, por tanto la posición 0 de args tiene la palabra hola, y la posición 1 de args tiene la palabra mundo. Digamos que args[0] es igual a hola y args[1] es igual a mundo.

Veamos ahora este llamado:

Código:
  1. java ejerciciosR2 10 25 23 24


Por tanto:

Código:
  1. args[0]==10
  2. args[1]==25
  3. args[2]==23
  4. args[3]==24


En tu código usas args[i] porque recorres el arreglo en un bucle for.

Espero que esto aclare tus dudas.


Muchísimas gracias, ya me ha quedado más claro

Volver arriba
Ver perfil del usuario Enviar mensaje privado
El tema está bloqueado: no pueden editarse ni agregar mensajes.
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Duda de codigo para programa

Marco V Python 0 Sábado 23 Nov 2019 21:36 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema en c++ - Números k-emparejados

maricarmeniii C, C#, Visual C++ 0 Lunes 21 Oct 2019 17:33 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Duda con porcentaje SQL Oracle

Tartanboi SQL - Lenguaje SQL 0 Lunes 02 Sep 2019 10:20 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Duda de optimización de datos con VBA

Maugarni Visual Basic y VBA 0 Jueves 22 Ago 2019 13:49 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Ayuda urgente con tarea de programa en lenguaje C

dominicanvictor C, C#, Visual C++ 1 Lunes 05 Ago 2019 18:04 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,