Java - Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

 
Vista:
sin imagen de perfil

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por Miguel (6 intervenciones) el 28/10/2016 15:23:43
Hola, soy una persona de 55 años, que por circunstancias de la vida se ha metido a estudiar un ciclo formativo,(para poder ampliar mis posibilidades laborales) concretamente el de Desarrollo de Aplicaciones Multiplataforma. La peor asignatura que llevo es la de programación, con los bucles, sentencia if/else voy bien, pero hasta que empezamos los arrays ya voy perdido.

Tengo que hacer un programita y no sé como empezar, si hay alguien que me pueda echar una manita, no pido que me lo haga, sino que me indique el camino por el que tengo que ir.
El enunciado dice asi:
Programa que permita la gestión de una compañía de seguros de ámbito nacional. Se quieren almacenar el nº de asegurados que se tienen en 6 comunidades españolas según los 4 tipos de seguros que comercializa. Rellena la matriz generando aleatoriamente con valores en un rango de 300 a 5000. Mostrar un menú con las siguientes opciones hasta que pulse salir:
* Visualizar número de pólizas de cada tipo de seguro, según comunidad introducida e indica:
-tipo de seguro que tiene mayor número de pólizas.
-valor medio y en cuanto supera a la media el tipo de seguro de mayor cantidad de polizas.

* Visualizar número de pólizas de cada comunidad, según tipo de seguro introducido e indica:
-suma total de pólizas
-comunidad con menor número de pólizas

* Visualizar número total de pólizas en toda España.

*Salir. Acaba el programa.

Muchas gracias de antemano.

Adjunto fichero de como deberia quedar. 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
sin imagen de perfil

totalmente perdido

Publicado por Miguel (6 intervenciones) el 29/10/2016 00:03:00
Muchas gracias. Pero creo que mis conocimientos no son aún lo bastante avanzados para aclararme. Me salen bastantes excepciones. Estoy bloqueado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por ctmy (47 intervenciones) el 29/10/2016 07:38:02
Esto te va a dar una idea de como empezar...

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
public class Seguros{
 
  public static void main(String[] args){
 
    int[][] data = new int[6][4];
 
    String[] comunidades ={"Andalucia", "Cataluna", "Galicia", "Madrid", "Valencia", "Otro"};
 
    for(int i = 0; i < data.length; ++i){
      for(int j = 0; j < data[0].length; ++j){
        int random = 300 + (int)(Math.random() * 5000);
         data[i][j] = random;
      }
    }
 
    System.out.format("%28s %7s %7s %7s\n", "Coche", "Moto", "Vida", "Hogar");
 
    for(int i = 0; i < data.length; ++i){
      System.out.format("%20s", comunidades[i]);
      for(int j = 0; j < data[0].length; ++j){
        System.out.format("%8d", data[i][j]);
      }
      System.out.println();
    }
  }
}

Para crear un menu busca con mi nombre de usuario en esta pagina vas a encontrar como se puede lograr eso con un switch dentro de un while.

Para la mayoria de las opciones vas a necesitar dos for loops como en el ejemplo. Lo que tenes que hacer es encontrar la forma de como usar los indices i j para recorrer el array dependiendo a tus necesidades. Por ejemplo para sumar las columnas, tenes que hacer algo asi
1
2
3
4
5
6
7
8
int sum=0;
for(int i = 0; i < data[0].length; ++i){
  for(int j = 0; j < data.length; ++j){
   sum += data[j][i]; //esto es suma columna por columna
}
 System.out.print("col" + (i+1) + ": " + sum + " ");
 sum = 0;
}

http://ctmy-dev.appspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por Miguel (6 intervenciones) el 29/10/2016 13:09:59
Buenos días.
Muchas gracias por tu ayuda.
Pero si te soy sincero, no llego a la resolución del ejercicio, ni con la ayuda que me has indicado. Llevo ya tres horas dándole vueltas y no hay manera de solucionarlo.
El tiempo me apremia y eso me agobia mucho más. La tensión por las nubes. Quiero aprobar esta asignatura aunque sea con un aprobado justito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por ctmy (47 intervenciones) el 29/10/2016 16:42:16
En tu mensaje inicial estas indicando que no queres que te hagan la tarea pero creo que tu deseperacion te esta impidiendo concentrarte y estas mas preocupado de que no vas a terminar.

Primero tenes que calmarte y olvidarte del tiempo. Solo quiero decirte que si yo puedo terminar la asignacion vos tambien podes. No tomes el camino, en esta profesion, de querer encontrar una solucion para un especifico problema sino usar lo que sabes para solucionar cualquier tipo problema (en partes) y al final tener todo solucionado. Te lo digo con experiencia.

No penses en todo el problema de una vez sino en partes. Por el momento no te preocupes por el menu sino en las cosas que se tienen que hacer en cada opcion del menu. Una vez que tengas eso despues se puede unir todas esas partes.

Por ejemplo esta opcion del menu: * Visualizar número total de pólizas en toda España.

Que es toda españa? Todas las comunidades, no? Entonces tenes que recorrer todo el array(data) y sumar cada elemento en el array.
1
2
3
4
5
6
7
8
int sumaTotal=0;
for(int i = 0; i < data.length; ++i){
  for(int j = 0; j < data[0].length; ++j){
   sumaTotal += data[i][j];
  }
}
 
System.out.println("Polizas en España: " + sumaTotal);

A pesar de que esto es un ejemplo sencillo, aqui se utilizo partes de otro codigo para lograr algo diferente.

Escribi algun codigo, si todavia tenes tiempo, y pregunta otra vez si tenes mas dudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por Miguel (6 intervenciones) el 29/10/2016 18:39:13
Muchas gracias. Estoy mas tranquilo. Ya sé que en esto de la programación hay que dedicarle horas. Muchas veces, la solución es realmente sencilla, de sentido común, lo que pasa que aveces, se producen muchos errores de sintaxis.
Ahora tengo el problema, que no se como se soluciona de que me dice que la variable i ya está utilizada en el método Main String.
¿como lo soluciono?

1
2
3
4
5
6
7
8
int sumaTotal=0;
for(int i = 0; i < data.length; ++i){
  for(int j = 0; j < data[0].length; ++j){
   sumaTotal += data[i][j];
  }
}
 
System.out.println("Polizas en España: " + sumaTotal);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por ctmy (47 intervenciones) el 29/10/2016 19:54:15
Debe haber una variable global con ese mismo nombre. Ve en que linea se encuentra y buscar donde fue utilizada y cambia los nombres. Que no te parezca sorpresa pero de la forma que vas aumentando tu conocimiento, van a aparecer errores mas dificiles de encontrar y solucionar.

Ese problemita no te puede dejar atascado...Buena suerte

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
public class Seguros{
 
  public static void main(String[] args){
 
    int[][] data = new int[6][4];
 
    String[] comunidades ={"Andalucia", "Cataluna", "Galicia", "Madrid", "Valencia", "Otro"};
 
    for(int i = 0; i < data.length; ++i){
      for(int j = 0; j < data[0].length; ++j){
        int random = 300 + (int)(Math.random() * 5000);
         data[i][j] = random;
      }
    }
 
    System.out.format("%28s %7s %7s %7s\n", "Coche", "Moto", "Vida", "Hogar");
 
    for(int i = 0; i < data.length; ++i){
      System.out.format("%20s", comunidades[i]);
      for(int j = 0; j < data[0].length; ++j){
        System.out.format("%8d", data[i][j]);
      }
      System.out.println();
    }
 
    int sum=0;
    for(int i = 0; i < data[0].length; ++i){
      for(int j = 0; j < data.length; ++j){
        sum += data[j][i]; //esto es suma columna por columna
      }
      System.out.print("col" + (i+1) + ": " + sum + " ");
      sum = 0;
    }
 
 
    int sumaTotal=0;
    for(int i = 0; i < data.length; ++i){
      for(int j = 0; j < data[0].length; ++j){
        sumaTotal += data[i][j];
      }
    }
 
    System.out.println("\nSuma Total: " + sumaTotal);
 
  }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por Miguel (6 intervenciones) el 30/10/2016 10:48:46
Muchas gracias por tu ayuda y compresión.
Poco a poco voy avanzando. Voy metiendo en cada linea de código notas explicativas de porque es así, para que me sirva de referencia en otros programas.

El programa ya está casi finalizado, pero me falta lo más importante, que sería poner un menú para seleccionar las opciones que me solicitan:

Las opciones son las siguientes:

1- Visualizar número de pólizas de cada tipo de seguro, según comunidad introducida e indica:
-tipo de seguro que tiene mayor número de pólizas.
-valor medio y en cuanto supera a la media el tipo de seguro de mayor cantidad de pólizas.

2- Visualizar número de pólizas de cada comunidad, según tipo de seguro introducido e indica:
-suma total de pólizas
-comunidad con menor número de pólizas

3- Visualizar número total de pólizas en toda España.

4- Salir. Acaba el programa.

¿alguna ayuda?
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por ctmy (47 intervenciones) el 31/10/2016 15:01:53
En los primero comentarios te sugeri que habia ejemplos, en las preguntas que habia participado, donde muestra una implementacion parecida a lo que buscas. Voy a ser un poco insistente y recordarte que busques ejemplos que te ayuden a resolver el problema y no ejemplos identicos a tus problemas.

Esto es lo que encontre: http://www.lawebdelprogramador.com/foros/Java/1566337-Ayuda-con-un-codigo-POR-FAVOR.html.

Lo primero que necesitas es un scanner para poder guardar la opcion que el usuario quiere ejecutar/ver.

Despues las estructura para el menu seria algo asi.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Scanner sc = new Scanner(System.in);
    do{
      printMenu();
      System.out.print("Elija una Opcion:");
      opcion = sc.nextInt();
      sc.nextLine();
      switch(opcion){
        case 1:
          //pone tu codigo aqui
          menu = 0; //no cerrar el programa
          break;
          case 2:
          //pone tu codigo aqui
          menu = 0; //no cerrar el programa
          break;
         case 3:
          System.out.println("Progama Cerrado");
          menu = 5; //cerrar el programa
          break;
      }
    }while(menu == 0); //mientras el valor del menu sea 0 no cerrar el programa
  }

Y asi sucesivamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por Miguel (6 intervenciones) el 05/11/2016 09:40:00
Hola, ya tengo el programa confeccionado. Puedes decirme tu correo y te lo paso y le echas un vistazo y me dices si es correcto.

Te lo agradeceria.
Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con programa que permita la gestión de una compañía de seguros de ámbito nacional

Publicado por ctmy (47 intervenciones) el 10/11/2016 06:56:25
Estaba un poco ocupado y no visite la pagina por varios dias. Felicidades por haber llegado hasta este punto. Me gustaria ver el producto final si es que todavia no entregaste la asignacion. Si esta bien o no... yo creo que si te da los resultados que esperas entonces esta bien.

[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar