|
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 import java.util.*; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; public class Finalv1 { { int intentos = 0,op = 0; Scanner teclado = new Scanner (System. in); String usuarioCorrecto = "admin"; String contraseñaCorrecta = "123"; String contraseñaIngresada = ""; System. out. println("Bienvenido a Gestion de Alumnos 1.0 "); do { System. out. println("Ingrese Usuario: "); usuarioIngresado = input.next(); System. out. println("Ingrese Contraseña: "); contraseñaIngresada = input.next(); if (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false || ((intentos <= 3))) { intentos++; // contador para los intentos if (usuarioIngresado.equals(usuarioCorrecto) || contraseñaIngresada.equals(contraseñaCorrecta)) { System. out. println("Datos ingresados correctos"); } else if (intentos < 3)/* Aca que se repitiera siempre y cuando los intentos sean menores a 3*/ { System. out . println("Error! usuario o contraseña incorrecta"); } else { // Y aca te manda el ultimatum si te equivocas 3 veces System. out. println("Contacte con el soporte tecnico."); } } } while (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false); do{ try{ System. out. print("\n\nMenú principal \n\n1: Ingresar información \n\n2: Datos de los Alumnos \n\n3: Grafica \n\n4: Finalizar programa"); System. out. println("\nSeleccione una opción del menú"); op=input.nextInt(); System. out. println("Error! ingrese una opción válida del menú"); input.nextLine(); } switch (op){ case 1: ingreseDatos(); break; case 2: try{ mostrarDatos(); System. out. println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver"); input.nextLine(); }finally{ break;} case 3: try{ grafica() ; System. out. println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver"); input.nextLine(); }finally{ break;} case 4: System. out. println("Fin del programa"); break; default: System. out. println("Error! ingrese una opción válida del menú"); } }while (op!=4 ); } public static Scanner input = new Scanner (System. in); public static String[] nombres ; public static String nombreMayor ; public static String nombreMenor ; public static int[][] not1; 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; public static void ingreseDatos() { try{ System. out. println("Cantidad de alumnos en el grupo: "); nualumn = input.nextInt(); input.nextLine(); System. out. println("Error Numero invalido regresando al menu"); } nombres = new String[nualumn ]; not1 = new int[nualumn][5]; for (f = 0; f < nombres.length; f++) { System. out. println("Ingrese nombre del alumno "); nombres[f] = input.next(); for (a = 0; a < 5; a++) { while ( not1[f][a] < 1 || not1[f][a] > 12) { try{ System. out. println("Ingrese nota "+(a +1)); not1[f][a] = input.nextInt(); }catch(InputMismatchException e){ input.nextLine(); System. out. println("Error ingrese un numero valido"); } } } } System. out. println("Datos Ingresados Correctamente volviendo al Menu"); } private static void grafica() { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("Aprobados", cont1); dataset.setValue("Desaprobados", cont2); JFreeChart grafica = ChartFactory.createPieChart3D( "Grafica de Aprobados y Desaprobados", // El nombre de la gráfica dataset, // El arreglo de datos false, // Indica si lleva leyenda true, // Indica si lleva tooltips false); // Indica si son URls // Mostramos la grafica en pantalla ChartFrame frame = new ChartFrame("Graficador", grafica); frame.pack(); frame.setVisible(true); } // Opcion 3 de la lista private static void mostrarDatos(){ for (f = 0; f < nombres.length; f++) { System. out. println("Alumno: " + nombres [f ]); for (a = 0; a < 5; a++) { System. out. println("Notas " + not1 [f ][a ]); } } for (f = 0; f < nombres.length; f++) { PromedioTMP = 0; // Ciclo para recorrer las columnas for (a = 0; a < 5; a++) { PromedioTMP = PromedioTMP + not1[f][a]; } promedioAlumn=PromedioTMP/5; for( int i=0; i<nualumn; i++ ){ sumaProm+= promedioAlumn; } promFin=((sumaProm/nualumn)/nualumn); System. out. println("Promedio del alumno " + nombres [f ] + ": "+ promedioAlumn ); if(promedioAlumn>=7){ cont1 = cont1 + 1; System. out. println("Aprobado"); } else{ System. out. println("Reprobado"); cont2=cont2+1; } } int mayor[] = new int[nombres.length]; int menor[] = new int[ nombres.length]; for (f = 0; f < nombres.length; f++) { // for (a = 0; a < not1[f].length; a++) { if (not1[f][a] > mayor[f]) { mayor[f] = not1[f][a]; nombreMayor = nombres[f]; } else if (not1[f][a] < menor[f]) { menor[f] = not1[f][a]; nombreMenor = nombres[f]; } } } System. out. println("Mayor nota ingresada de la clase del alumno "+ nombreMayor + " " + mayor [f ]); System. out. println("Menor nota ingresada de la clase del alumno "+ nombreMenor + " " + menor [f ]); System. out. println("Promedio General de la Clase : "+promFin ); } }
|
|
|
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 int mayor[] = new int[nombres.length]; int menor[] = new int[ nombres.length]; for (f = 0; f < nombres.length; f++) { // for (a = 0; a < not1[f].length; a++) { if (not1[f][a] > mayor[f]) { mayor[f] = not1[f][a]; nombreMayor = nombres[f]; } else if (not1[f][a] < menor[f]) { menor[f] = not1[f][a]; nombreMenor = nombres[f]; } } }
y esto 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 int[] mayor = new int[nombres.length]; int[] menor = new int[ nombres.length]; for (f = 0; f < nombres.length; f++) { // for (a = 0; a < not1[f].length; a++) { if (not1[f][a] > mayor) { <------ mayor[f] = not1[f][a]; <------ nombreMayor = nombres[f]; } else if (not1[f][a] < menor) { <------ menor[f] = not1[f][a]; <------ nombreMenor = nombres[f]; } } }
|
|
|
4
|
Programación / Java / Re: [Ayuda] Problema con Array Bidimensional
|
en: 9 Noviembre 2015, 00:10 am
|
import java.util.*; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; public class Finalv1 { public static void main (String[] args ) { int intentos = 0,op = 0; Scanner teclado = new Scanner (System. in); String usuarioCorrecto = "admin"; String contraseñaCorrecta = "123"; String contraseñaIngresada = ""; do { System. out. println("Bienvenido a Gestion de Alumnos 1.0 "); System. out. println("Ingrese Usuario: "); usuarioIngresado = input.next(); System. out. println("Ingrese Contraseña: "); contraseñaIngresada = input.next(); if (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false || ((intentos <= 3))) { intentos++; // contador para los intentos if (usuarioIngresado.equals(usuarioCorrecto) && contraseñaIngresada.equals(contraseñaCorrecta)) { System. out. println("Datos ingresados correctos"); } else if (intentos < 3)/* Aca que se repitiera siempre y cuando los intentos sean menores a 3*/ { System. out . println("Error! usuario o contraseña incorrecta"); } else { // Y aca te manda el ultimatum si te equivocas 3 veces System. out. println("Contacte con el soporte tecnico."); } } } while (usuarioIngresado.equals(usuarioCorrecto) == false || contraseñaIngresada.equals(contraseñaCorrecta) == false); do{ try{ System. out. print("\n\nMenú principal \n\n1: Ingresar información \n\n2: Grafica \n\n3: Datos de los Alumnos \n\n4: Finalizar programa"); System. out. println("\nSeleccione una opción del menú"); op=input.nextInt(); System. out. println("Error! ingrese una opción válida del menú"); input.nextLine(); } switch (op){ case 1: ingreseDatos(); break; case 2: try{ grafica(); System. out. println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver"); input.nextLine(); }finally{ break;} case 3: try{ mostrarDatos(); System. out. println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver"); input.nextLine(); }finally{ break;} case 4: System. out. println("Fin del programa"); break; default: System. out. println("Error! ingrese una opción válida del menú"); } }while (op!=4 ); } public static Scanner input = new Scanner (System. in); public static String[] nombres ; public static String nombreMayor ; public static String nombreMenor ; public static int[][] not1; 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; public static void ingreseDatos() { try{ System. out. println("Cantidad de alumnos en el grupo: "); nualumn = input.nextInt(); input.nextLine(); System. out. println("Error Numero invalido regresando al menu"); } nombres = new String[nualumn ]; not1 = new int[nualumn][5]; for (f = 0; f < nombres.length; f++) { System. out. println("Ingrese nombre del alumno "); nombres[f] = input.next(); for (a = 0; a < 5; a++) { while ( not1[f][a] < 1 || not1[f][a] > 12) { try{ System. out. println("Introduzca nota "+(a +1)); not1[f][a] = input.nextInt(); }catch(InputMismatchException e){ input.nextLine(); System. out. println("Error ingrese un numero valido"); } } } } } private static void grafica() { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("Aprobados", cont1); dataset.setValue("Desaprobados", cont2); JFreeChart grafica = ChartFactory.createPieChart3D( "Grafica de Aprobados y Desaprobados", // El nombre de la gráfica dataset, // El arreglo de datos false, // Indica si lleva leyenda true, // Indica si lleva tooltips false); // Indica si son URls // Mostramos la grafica en pantalla ChartFrame frame = new ChartFrame("Graficador", grafica); frame.pack(); frame.setVisible(true); } // Opcion 3 de la lista private static void mostrarDatos(){ for (f = 0; f < nombres.length; f++) { System. out. println("Alumno: " + nombres [f ]); for (a = 0; a < 5; a++) { System. out. println("Notas " + not1 [f ][a ]); } } for (f = 0; f < nombres.length; f++) { PromedioTMP = 0; // Ciclo para recorrer las columnas for (a = 0; a < 5; a++) { PromedioTMP = PromedioTMP + not1[f][a]; } promedioAlumn=PromedioTMP/5; for( int i=0; i<nualumn; i++ ){ sumaProm+= promedioAlumn; } promFin=((sumaProm/nualumn)/nualumn); System. out. println("Promedio del alumno " + nombres [f ] + ": "+ promedioAlumn ); if(promedioAlumn>=7){ cont1 = cont1 + 1; System. out. println("Aprobado"); } else{ System. out. println("Reprobado"); cont2=cont2+1; } if(promedioAlumn>=3||promedioAlumn<7){ cont3 = cont3 + 1; } else if(promedioAlumn < 3){ cont4=cont4+1; } } for (f = 0; f < nombres.length; f++) { // for (a = 0; a < not1[f].length; a++) { if (not1[f][a] > mayor) { mayor = not1[f][a]; nombreMayor = nombres[f]; } else if (not1[f][a] < menor) { menor = not1[f][a]; nombreMenor = nombres[f]; } } } System. out. println("Mayor nota ingresada de la clase del alumno "+ nombreMayor + " " + mayor ); System. out. println("Menor nota ingresada de la clase del alumno "+ nombreMenor + " " + menor ); System. out. println("Promedio General de la Clase : "+promFin ); } }
Aca esta el codigo ,lo unico que use librerias de JfreeChart para unas graficas.
|
|
|
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
|
|
|
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 . 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 mayor = menor= not1[0][0];//se toma el primero como mayor y menor for (f = 0; f < nombres.length; f++) { // for (a = 0; a < not1[f].length; a++) { if (not1[f][a] > mayor) { mayor = not1[f][a]; nombreMayor = nombres[f]; } else if (not1[f][a] < menor) { menor = not1[f][a]; nombreMenor = nombres[f]; } } } System. out. println("Mayor nota de la clase del alumno "+nombreMayor + " " + mayor ); System. out. println("Menor nota de la clase del alumno "+nombreMenor + " " + menor ); }
para orientarse un poco: int nualumn=0 //es el numeros de alumnos ingresados public static String[] nombres ; //donde ingreso los nombres public static int [][] not1; //el array bidimensional para las 5 notas public static String nombreMenor ; //este es el del problema public static String nombreMayor ; //String para almacenar el nombre mayor int a=0 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 ,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 y si las lei pero si se me paso alguna sepan perdonar .
|
|
|
|
|
|
|