Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Langosta Sexual en 3 Febrero 2015, 18:23 pm



Título: Duda de como pedir el valor contenido dentro de un arreglo.
Publicado por: Langosta Sexual en 3 Febrero 2015, 18:23 pm
Voy al grano, debo hacer un programa en java que permita a el usuario ingresar el tamaño de un arreglo bidimensional, que el usuario pueda ingresar los valores que van a contener las finas y columnas de el arreglo, ejemplo, arreglo [1][1]=5; y que calcule que valores de la diagonal principal son multiplos de 5, osea, si el arreglo es cuadrado de [3][3], que permita calcular si el valor contenido en
  • ,[1][1],[2][2] son multiplos de 5.

Ya pude hacer el 95% de el programa, pero lo que no se es como modular el valor a 5 de cada una de las partes que me piden, les escribo lo que ya tengo listo.

Código
  1. package arreglos;
  2. import java.util.*;
  3.  
  4. public class Arreglos
  5. {
  6.    public static void main(String[] args)
  7.    {
  8.        Scanner ec= new Scanner(System.in);
  9.        int LongitudArreglo,Incremento=0;
  10.        double ValorArreglo;
  11.  
  12.        System.out.println("Introduzca la longitud de el arreglo");
  13.        LongitudArreglo = ec.nextInt();
  14.  
  15.        double [][] arreglo  = new double [LongitudArreglo][LongitudArreglo];
  16.  
  17.        String decision = "Si";
  18.        while (decision.equalsIgnoreCase ("si"))
  19.        {
  20.            for (int Columna=0;Columna<LongitudArreglo;Columna++)
  21.            {
  22.                for (int Fila=0;Fila<LongitudArreglo;Fila++)
  23.                {
  24.                    System.out.println("Introduzca el valor que tendra la posicion ["+Columna+"]["+Fila+"]\n");
  25.                    ValorArreglo=ec.nextDouble();
  26.                    if (arreglo[Incremento][Incremento]%5==0)  //<- Este es el problemita que tengo
  27.                    {
  28.                        System.out.println("El valor contenido en["+Incremento+"]["+Incremento+"]Es multiplo de 5");
  29.                    }
  30.                }  
  31.                Incremento++;
  32.            }
  33.  
  34.            System.out.print("¿Desea continuar? Si/No\n");
  35.            decision = ec.next();
  36.        }
  37.    }  
  38. }


Título: Re: Duda de como pedir el valor contenido dentro de un arreglo.
Publicado por: 3n31ch en 3 Febrero 2015, 18:36 pm
Porfavor agrega las etiquetas [ code ], esto lo haces modificando tu mensaje,  seleccionando el código y posteriormente haciendo click sobre combobox que dice GeSHi y selecciona Java.



No entiendo muy bien que es lo que buscas, supongo que quieres solo revisar si es múltiplo de 5 en los casos [1][1] [2][2] [3][3] ....

Si es así con tan solo modificar tu if y agregar lo siguiente:

Código
  1. if (Columna == Fila && arreglo[Columna][Fila]%5==0) {
  2.         System.out.println("El valor contenido en["+Columna+"]["+Fila+"]Es multiplo de 5");
  3. }

Estará listo, por otro lado, si lo que quieres es calcular una suma necesitaras de otra variable que lo haga, pero eso te lo dejo a ti, veo que si ya hiciste esto eres capaz.

Quiero agregar, tienes un grave problema en tu forma de escribir tu código, te recomiendo pasarte por aquí (http://foro.elhacker.net/java/aporte_buenas_practicas_y_convenciones_en_java_parte_uno_convenciones-t428844.0.html)

Si me he equivocado dímelo acá abajo porque no logre entender muy bien tu pregunta.

PD: No veo la utilidad de la variable incremento


Título: Re: Duda de como pedir el valor contenido dentro de un arreglo.
Publicado por: Langosta Sexual en 3 Febrero 2015, 18:51 pm
Porfavor agrega las etiquetas [ code ], esto lo haces modificando tu mensaje,  seleccionando el código y posteriormente haciendo click sobre combobox que dice GeSHi y selecciona Java.



No entiendo muy bien que es lo que buscas, supongo que quieres solo revisar si es múltiplo de 5 en los casos [1][1] [2][2] [3][3] ....

Si es así con tan solo modificar tu if y agregar lo siguiente:

Código
  1. if (Columna == Fila && arreglo[Columna][Fila]%5==0) {
  2.         System.out.println("El valor contenido en["+Columna+"]["+Fila+"]Es multiplo de 5");
  3. }

Estará listo, por otro lado, si lo que quieres es calcular una suma necesitaras de otra variable que lo haga, pero eso te lo dejo a ti, veo que si ya hiciste esto eres capaz.

Quiero agregar, tienes un grave problema en tu forma de escribir tu código, te recomiendo pasarte por aquí (http://foro.elhacker.net/java/aporte_buenas_practicas_y_convenciones_en_java_parte_uno_convenciones-t428844.0.html)

Si me he equivocado dímelo acá abajo porque no logre entender muy bien tu pregunta.

PD: No veo la utilidad de la variable incremento


Muchas gracias amigo, gracias tambien a enseñarme como traducir el codigo a este foro, al final el programa quedo asi, lo coloco por si alguien le interesa mirarlo.

Código
  1. package arreglos;
  2. import java.util.*;
  3.  
  4. public class Arreglos
  5. {
  6.    public static void main(String[] args)
  7.    {
  8.        Scanner ec= new Scanner(System.in);
  9.        int LongitudArreglo,Incremento=0;
  10.        double ValorArreglo;
  11.  
  12.        System.out.println("Introduzca la longitud de el arreglo");
  13.        LongitudArreglo = ec.nextInt();
  14.  
  15.        double [][] arreglo  = new double [LongitudArreglo][LongitudArreglo];
  16.  
  17.        String decision = "Si";
  18.        while (decision.equalsIgnoreCase ("si"))
  19.        {
  20.            for (int Columna=0;Columna<LongitudArreglo;Columna++)
  21.            {
  22.                for (int Fila=0;Fila<LongitudArreglo;Fila++)
  23.                {
  24.                    System.out.println("Introduzca el valor que tendra la posicion ["+Columna+"]["+Fila+"]\n");
  25.                    arreglo[Columna][Fila]=ec.nextDouble();
  26.                    if (Fila==Columna && arreglo[Columna][Fila]%5==0)
  27.                    {
  28.                        System.out.println("El valor contenido en["+Fila+"]["+Columna+"]Es multiplo de 5");
  29.                        Incremento++;
  30.                    }            
  31.                }  
  32.            }
  33.  
  34.            System.out.print("¿Desea continuar? Si/No\n");
  35.            decision = ec.next();
  36.        }
  37.    }  
  38. }