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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Re: [Ayuda] Problema con Array Bidimensional en: 9 Noviembre 2015, 06:32 am
Aun inicianizandolos me tira lo mismo,no te preocupes solo lo pedi como ayuda no es urgente ni nada,creo que aun me estoy perdiendo de algo
Código
  1. import java.util.*;
  2.  
  3. import org.jfree.chart.ChartFactory;
  4. import org.jfree.chart.ChartFrame;
  5. import org.jfree.chart.JFreeChart;
  6. import org.jfree.data.general.DefaultPieDataset;
  7.  
  8. public class Finalv1 {
  9.  
  10.  
  11.    public static void main(String[] args) throws InterruptedException
  12.    {
  13.        int intentos = 0,op = 0;
  14.        Scanner teclado = new Scanner(System.in);
  15.        String usuarioCorrecto = "admin";
  16.        String usuarioIngresado = "";
  17.        String contraseñaCorrecta = "123";
  18.        String contraseñaIngresada = "";
  19.  
  20.        System.out.println("Bienvenido a Gestion de Alumnos 1.0 ");
  21.        do
  22.        {
  23.  
  24.         System.out.println("Ingrese Usuario: ");
  25.            usuarioIngresado = input.next();
  26.            System.out.println("Ingrese Contraseña: ");
  27.            contraseñaIngresada = input.next();
  28.            if (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false || ((intentos <= 3)))
  29.            {
  30.             intentos++; // contador para los intentos
  31.             if (usuarioIngresado.equals(usuarioCorrecto)  || contraseñaIngresada.equals(contraseñaCorrecta))
  32.                {
  33.             System.out.println("Datos ingresados correctos");
  34.  
  35.                }
  36.             else if (intentos < 3)/* Aca que se repitiera siempre y cuando los intentos sean menores  a 3*/
  37.             {
  38.             System.out  .println("Error! usuario o contraseña incorrecta");
  39.             }
  40.             else
  41.             {
  42.            // Y aca te manda el ultimatum si te equivocas 3 veces
  43.             System.out.println("Contacte con el soporte tecnico.");
  44.             Thread.sleep(200000000);
  45.             }
  46.             }  
  47.            }
  48.        while (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false);
  49.        do{  
  50.  
  51.         try{
  52.         System.out.print("\n\nMenú principal \n\n1: Ingresar información  \n\n2: Datos de los Alumnos \n\n3: Grafica   \n\n4: Finalizar programa");
  53.         System.out.println("\nSeleccione una opción del menú");
  54.         op=input.nextInt();
  55.         }catch(Exception e){
  56.         System.out.println("Error! ingrese una opción válida del menú");
  57.         input.nextLine();
  58.         }
  59.  
  60.         switch (op){
  61.         case 1: ingreseDatos();
  62.         break;
  63.         case 2:
  64.         try{
  65.         mostrarDatos();
  66.         }catch(NullPointerException e){
  67.         System.out.println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver");
  68. input.nextLine();
  69. }finally{
  70. break;}
  71. case 3:
  72. try{
  73. grafica()
  74. ;
  75. System.out.println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver");
  76. input.nextLine();
  77. }finally{
  78. break;}
  79. case 4:
  80. System.out.println("Fin del programa");
  81. break;
  82. default:
  83. System.out.println("Error! ingrese una opción válida del menú");
  84. }
  85.         }while (op!=4 );
  86.        }
  87.  
  88.    public static Scanner input = new Scanner(System.in);
  89.    public static String[] nombres;
  90.    public static String nombreMayor;
  91.    public static String nombreMenor;
  92.    public static int[][] not1;
  93.    public static int a = 0, f = 0, pos = 0, sumaPos = 0, r = 0, suma = 0, PromedioTMP = 0,nualumn = 0,promedioAlumn,promedioGral,sumaProm,promFin,cont1=0,cont2=0,cont3=0,cont4=0;
  94.  
  95.    public static void ingreseDatos()
  96.    {
  97.     try{
  98.     System.out.println("Cantidad de alumnos en el grupo: ");
  99.     nualumn = input.nextInt();    
  100.     }catch(Exception e){
  101.     input.nextLine();
  102.     System.out.println("Error Numero invalido regresando al menu");    
  103.     }
  104.     nombres = new String[nualumn];
  105.     not1 = new int[nualumn][5];
  106.     for (f = 0; f < nombres.length; f++)
  107.     {
  108.     System.out.println("Ingrese nombre del alumno ");
  109.     nombres[f] = input.next();
  110.  
  111.     for (a = 0; a < 5; a++)
  112.     {
  113.     while ( not1[f][a]   < 1 ||  not1[f][a]   > 12)
  114.     {
  115.     try{
  116.     System.out.println("Ingrese nota "+(a+1));
  117.     not1[f][a]   = input.nextInt();
  118.     }catch(InputMismatchException e){
  119.                        input.nextLine();
  120.                        System.out.println("Error ingrese un numero valido");
  121.                        }
  122.     }
  123.     }
  124.     } System.out.println("Datos Ingresados Correctamente volviendo al Menu");
  125.     }
  126.  
  127.  
  128.  
  129.    private static void grafica() {
  130.     DefaultPieDataset dataset = new DefaultPieDataset();
  131.     dataset.setValue("Aprobados", cont1);
  132.     dataset.setValue("Desaprobados", cont2);
  133.     JFreeChart grafica = ChartFactory.createPieChart3D(
  134.     "Grafica de Aprobados y Desaprobados", // El nombre de la gráfica
  135.     dataset, // El arreglo de datos
  136.     false, // Indica si lleva leyenda
  137.     true, // Indica si lleva tooltips
  138.     false); // Indica si son URls
  139.       // Mostramos la grafica en pantalla
  140.     ChartFrame frame = new ChartFrame("Graficador", grafica);
  141.        frame.pack();
  142.     frame.setVisible(true);
  143.    }
  144.  
  145.  
  146.  
  147.  
  148.    // Opcion 3 de la lista
  149.  
  150.    private static void mostrarDatos(){
  151.  
  152.  
  153.     for (f = 0; f < nombres.length; f++)
  154.     {
  155.     System.out.println("Alumno: " + nombres[f]);
  156.     for (a = 0; a < 5; a++)
  157.     {
  158.     System.out.println("Notas " + not1[f][a]);
  159.     }  
  160.     }
  161.     for (f = 0; f < nombres.length; f++)
  162.     {    
  163.     PromedioTMP = 0;
  164.     // Ciclo para recorrer las columnas
  165.     for (a = 0; a < 5; a++)
  166.     {    
  167.     PromedioTMP = PromedioTMP + not1[f][a];
  168.     }
  169.     promedioAlumn=PromedioTMP/5;
  170.     for( int i=0; i<nualumn; i++ ){
  171.     sumaProm+= promedioAlumn;
  172.     }
  173.     promFin=((sumaProm/nualumn)/nualumn);
  174.  
  175.     System.out.println("Promedio del alumno " + nombres[f] + ": "+ promedioAlumn);
  176.  
  177.     if(promedioAlumn>=7){
  178.     cont1 = cont1 + 1;
  179.     System.out.println("Aprobado");
  180.     }
  181.     else{
  182.     System.out.println("Reprobado");
  183.             cont2=cont2+1;
  184.             }
  185.  
  186.     }
  187.  
  188.  
  189.     int mayor[] = new int[nombres.length];
  190.     int menor[] = new int[ nombres.length];
  191.  
  192.  
  193.        for (f = 0; f < nombres.length; f++) {  //
  194.            for (a = 0; a < not1[f].length; a++) {
  195.                if (not1[f][a] > mayor[f]) {
  196.                    mayor[f] = not1[f][a];
  197.                    nombreMayor = nombres[f];
  198.                } else if (not1[f][a] < menor[f]) {
  199.                    menor[f] = not1[f][a];
  200.                    nombreMenor = nombres[f];
  201.                }
  202.            }          
  203.        }
  204.  
  205.     System.out.println("Mayor nota ingresada de la clase del alumno "+ nombreMayor + " " + mayor[f]);
  206.     System.out.println("Menor nota ingresada de la clase del alumno "+ nombreMenor + " " + menor[f]);
  207.     System.out.println("Promedio General de la Clase :  "+promFin);
  208.     }
  209.    }
  210.  
  211.  
2  Programación / Java / Re: [Ayuda] Problema con Array Bidimensional en: 9 Noviembre 2015, 02:01 am
Hay algo aca que estoy pasando por alto porque me tira esto
Mayor nota ingresada de la clase del alumno 4orotro [I@68f7aae2
Menor nota ingresada de la clase del alumno null [I@4f47d241


Tengo esto aca

Código
  1.     int mayor[] = new int[nombres.length];
  2.     int menor[] = new int[ nombres.length];
  3.  
  4.  
  5.        for (f = 0; f < nombres.length; f++) {  //
  6.            for (a = 0; a < not1[f].length; a++) {
  7.                if (not1[f][a] > mayor[f]) {
  8.                    mayor[f] = not1[f][a];
  9.                    nombreMayor = nombres[f];
  10.                } else if (not1[f][a] < menor[f]) {
  11.                    menor[f] = not1[f][a];
  12.                    nombreMenor = nombres[f];
  13.                }
  14.            }          
  15.        }
  16.  

y esto

Código
  1. int mayor=-1,menor=101
3  Programación / Java / Re: [Ayuda] Problema con Array Bidimensional en: 9 Noviembre 2015, 01:41 am
Al momento de crear los dos arreglos para guardar las notas mayores y menores ,me crea problemas aca
Código
  1. int[] mayor = new int[nombres.length];
  2. int[] menor = new int[ nombres.length];
  3.  
  4. for (f = 0; f < nombres.length; f++) {  //
  5.           for (a = 0; a < not1[f].length; a++) {
  6.               if (not1[f][a] > mayor) {       <------
  7.                   mayor[f] = not1[f][a];              <------
  8.                   nombreMayor = nombres[f];        
  9.               } else if (not1[f][a] < menor) {          <------
  10.                   menor[f] = not1[f][a];                <------
  11.                   nombreMenor = nombres[f];
  12.               }
  13.           }          
  14.       }
  15.  
4  Programación / Java / Re: [Ayuda] Problema con Array Bidimensional en: 9 Noviembre 2015, 00:10 am
Código
  1. import java.util.*;
  2. import org.jfree.chart.ChartFactory;
  3. import org.jfree.chart.ChartFrame;
  4. import org.jfree.chart.JFreeChart;
  5. import org.jfree.data.general.DefaultPieDataset;
  6.  
  7. public class Finalv1 {
  8.  
  9.  
  10.    public static void main(String[] args)
  11.    {
  12.        int intentos = 0,op = 0;
  13.        Scanner teclado = new Scanner(System.in);
  14.        String usuarioCorrecto = "admin";
  15.        String usuarioIngresado = "";
  16.        String contraseñaCorrecta = "123";
  17.        String contraseñaIngresada = "";
  18.  
  19.  
  20.        do
  21.        {
  22.         System.out.println("Bienvenido a Gestion de Alumnos 1.0 ");
  23.         System.out.println("Ingrese Usuario: ");
  24.            usuarioIngresado = input.next();
  25.            System.out.println("Ingrese Contraseña: ");
  26.            contraseñaIngresada = input.next();
  27.            if (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false || ((intentos <= 3)))
  28.            {
  29.             intentos++; // contador para los intentos
  30.             if (usuarioIngresado.equals(usuarioCorrecto)  && contraseñaIngresada.equals(contraseñaCorrecta))
  31.                {
  32.             System.out.println("Datos ingresados correctos");
  33.  
  34.                }
  35.             else if (intentos < 3)/* Aca que se repitiera siempre y cuando los intentos sean menores  a 3*/
  36.             {
  37.             System.out  .println("Error! usuario o contraseña incorrecta");
  38.             }
  39.             else
  40.             {
  41.            // Y aca te manda el ultimatum si te equivocas 3 veces
  42.             System.out.println("Contacte con el soporte tecnico.");
  43.             System.exit(0);
  44.             }
  45.             }  
  46.            }
  47.        while (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false);
  48.        do{  
  49.  
  50.         try{
  51.         System.out.print("\n\nMenú principal \n\n1: Ingresar información \n\n2: Grafica \n\n3: Datos de los Alumnos  \n\n4: Finalizar programa");
  52.         System.out.println("\nSeleccione una opción del menú");
  53.         op=input.nextInt();
  54.         }catch(Exception e){
  55.         System.out.println("Error! ingrese una opción válida del menú");
  56.         input.nextLine();
  57.         }
  58.         switch (op){
  59.         case 1: ingreseDatos();
  60.         break;
  61.         case 2:
  62.         try{
  63.         grafica();
  64.         }catch(NullPointerException e){
  65.         System.out.println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver");
  66. input.nextLine();
  67. }finally{
  68. break;}
  69. case 3:
  70. try{
  71. mostrarDatos();
  72. System.out.println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver");
  73. input.nextLine();
  74. }finally{
  75. break;}
  76. case 4:
  77. System.out.println("Fin del programa");
  78. break;
  79. default:
  80. System.out.println("Error! ingrese una opción válida del menú");
  81. }
  82.         }while (op!=4 );
  83.        }
  84.  
  85.    public static Scanner input = new Scanner(System.in);
  86.    public static String[] nombres;
  87.    public static String nombreMayor;
  88.    public static String nombreMenor;
  89.    public static int[][] not1;
  90.    public static int a = 0, f = 0, pos = 0, sumaPos = 0, r = 0, suma = 0, PromedioTMP = 0,nualumn = 0, mayor=-1, menor=101,promedioAlumn,promedioGral,sumaProm,promFin,cont1=0,cont2=0,cont3=0,cont4=0;
  91.  
  92.    public static void ingreseDatos()
  93.    {
  94.     try{
  95.     System.out.println("Cantidad de alumnos en el grupo: ");
  96.     nualumn = input.nextInt();    
  97.     }catch(Exception e){
  98.     input.nextLine();
  99.     System.out.println("Error Numero invalido regresando al menu");    
  100.     }
  101.     nombres = new String[nualumn];
  102.     not1 = new int[nualumn][5];
  103.     for (f = 0; f < nombres.length; f++)
  104.     {
  105.     System.out.println("Ingrese nombre del alumno ");
  106.     nombres[f] = input.next();
  107.  
  108.     for (a = 0; a < 5; a++)
  109.     {
  110.     while ( not1[f][a]   < 1 ||  not1[f][a]   > 12)
  111.     {
  112.     try{
  113.     System.out.println("Introduzca nota "+(a+1));
  114.     not1[f][a]   = input.nextInt();
  115.     }catch(InputMismatchException e){
  116.                        input.nextLine();
  117.                        System.out.println("Error ingrese un numero valido");
  118.                        }
  119.     }
  120.     }
  121.     }
  122.     }
  123.  
  124.  
  125.  
  126.    private static void grafica() {
  127.     DefaultPieDataset dataset = new DefaultPieDataset();
  128.     dataset.setValue("Aprobados", cont1);
  129.     dataset.setValue("Desaprobados", cont2);
  130.     JFreeChart grafica = ChartFactory.createPieChart3D(
  131.     "Grafica de Aprobados y Desaprobados", // El nombre de la gráfica
  132.     dataset, // El arreglo de datos
  133.     false, // Indica si lleva leyenda
  134.     true, // Indica si lleva tooltips
  135.     false); // Indica si son URls
  136.       // Mostramos la grafica en pantalla
  137.     ChartFrame frame = new ChartFrame("Graficador", grafica);
  138.        frame.pack();
  139.     frame.setVisible(true);
  140.  
  141.     }
  142.  
  143.    // Opcion 3 de la lista
  144.  
  145.    private static void mostrarDatos(){
  146.  
  147.  
  148.     for (f = 0; f < nombres.length; f++)
  149.     {
  150.     System.out.println("Alumno: " + nombres[f]);
  151.     for (a = 0; a < 5; a++)
  152.     {
  153.     System.out.println("Notas " + not1[f][a]);
  154.     }  
  155.     }
  156.     for (f = 0; f < nombres.length; f++)
  157.     {    
  158.     PromedioTMP = 0;
  159.     // Ciclo para recorrer las columnas
  160.     for (a = 0; a < 5; a++)
  161.     {    
  162.     PromedioTMP = PromedioTMP + not1[f][a];
  163.     }
  164.     promedioAlumn=PromedioTMP/5;
  165.     for( int i=0; i<nualumn; i++ ){
  166.     sumaProm+= promedioAlumn;
  167.     }
  168.     promFin=((sumaProm/nualumn)/nualumn);
  169.  
  170.     System.out.println("Promedio del alumno " + nombres[f] + ": "+ promedioAlumn);
  171.  
  172.     if(promedioAlumn>=7){
  173.     cont1 = cont1 + 1;
  174.     System.out.println("Aprobado");
  175.     }
  176.     else{
  177.     System.out.println("Reprobado");
  178.             cont2=cont2+1;
  179.             }
  180.     if(promedioAlumn>=3||promedioAlumn<7){
  181.     cont3 = cont3 + 1;
  182.  
  183.     }
  184.     else if(promedioAlumn < 3){
  185.             cont4=cont4+1;
  186.             }
  187.     }
  188.  
  189.  
  190.  
  191.  
  192.        for (f = 0; f < nombres.length; f++) {  //
  193.            for (a = 0; a < not1[f].length; a++) {
  194.                if (not1[f][a] > mayor) {
  195.                    mayor = not1[f][a];
  196.                    nombreMayor = nombres[f];
  197.                } else if (not1[f][a] < menor) {
  198.                    menor = not1[f][a];
  199.                    nombreMenor = nombres[f];
  200.                }
  201.            }          
  202.        }
  203.  
  204.     System.out.println("Mayor nota ingresada de la clase del alumno "+ nombreMayor + " " + mayor);
  205.     System.out.println("Menor nota ingresada de la clase del alumno "+ nombreMenor + " " + menor);
  206.     System.out.println("Promedio General de la Clase :  "+promFin);
  207.     }
  208.    }
  209.  
  210.  

Aca esta el codigo ,lo unico que use librerias de JfreeChart para unas graficas.
5  Programación / Java / Re: [Ayuda] Problema con Array Bidimensional en: 8 Noviembre 2015, 23:17 pm


Genial funciona lo del nombre por lo menos no me muestra null ,lo unico malo es que ahora solo me toma el mayor y menor de el ultimo ingresado.
Gracias 0xFer por ayudarme con lo del nombre  :D :D
6  Programación / Java / Re: [Ayuda] Problema con Array Bidimensional en: 8 Noviembre 2015, 20:40 pm
  Aca hay un imagen de lo que sucede ,elimine la linea que me dijiste y sigue pasando lo mismo solo que aparece null 0 ahora en vez de null y el minimo ,ahi en la imagen aparece la linea que me dijiste pero la puse despues de ejecutar para ver algo. no se si se puede postear la imagen directamente o tengo que poner slo el link cualquier cosa despues lo edito
7  Programación / Java / Re: [Ayuda] Problema con Array Bidimensional en: 8 Noviembre 2015, 17:03 pm
Disculpa mi ignorancia pero en que parte el mayor   y menor deberian empezar en cero? las variables las tengo inicializadas en 0
Código
  1. mayor=0
  2. menor=0
pero no creo que te refieras a eso.
8  Programación / Java / [Ayuda] Problema con Array Bidimensional en: 7 Noviembre 2015, 19:54 pm
Buenas después de estar mucho tiempo buscando el problema ,así que decante por crear un tema   :D :D.


Tengo una consulta/problema con un arreglo bidimensional ,este mismo tiene 5 notas de n cantidad de alumnos ingresadas ,al momento de pedir el alumno con mayor nota (Osea el nombre y la nota) no tengo problema me lo muestra sin complicaciones pero al mostrar el mínimo me muestra la mínima nota bien pero el nombre del alumno me lo muestra null



Código
  1.  
  2.        mayor  = menor= not1[0][0];//se toma el primero como mayor y menor
  3.  
  4.  
  5.        for (f = 0; f < nombres.length; f++) {  //
  6.            for (a = 0; a < not1[f].length; a++) {
  7.                if (not1[f][a] > mayor) {
  8.                    mayor = not1[f][a];
  9.                    nombreMayor = nombres[f];
  10.                } else if (not1[f][a] < menor) {
  11.                    menor = not1[f][a];
  12.                    nombreMenor = nombres[f];
  13.                }
  14.            }          
  15.        }
  16.        System.out.println("Mayor nota de la clase del alumno  "+nombreMayor+ "  " + mayor);
  17.  
  18.        System.out.println("Menor nota de la clase del alumno  "+nombreMenor+ " " + menor);
  19.  
  20.    }

para orientarse un poco:
Código
  1. int nualumn=0 //es el numeros de alumnos ingresados
  2. public static String[] nombres; //donde ingreso los nombres
  3. public static int [][] not1;     //el array bidimensional para las 5 notas
  4. public static String nombreMenor ; //este es el del problema
  5. public static String nombreMayor ;  //String para almacenar el nombre mayor
  6. int a=0
  7. int f=0  

se que aca no se hace la tarea de nadie ,solo estoy preguntando si como lo formule esta mal puesto o es algun error tonto no pido que me lo resuelvan   :P :P,solo una ayuda que ya me esta desquiciando
si falto algun dato estare pendiente al tema y lo agregare ,y si no cumpli con alguna norma ,soy nuevo  :xD :xD y si las lei pero si se me paso alguna sepan perdonar :P .
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines