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 (java) [Seleccionar]
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) throws InterruptedException
{
int intentos = 0,op = 0;
Scanner teclado = new Scanner(System.in);
String usuarioCorrecto = "admin";
String usuarioIngresado = "";
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.");
Thread.sleep(200000000);
}
}
}
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();
}catch(Exception e){
System.out.println("Error! ingrese una opción válida del menú");
input.nextLine();
}
switch (op){
case 1: ingreseDatos();
break;
case 2:
try{
mostrarDatos();
}catch(NullPointerException e){
System.out.println("Error todavia no se ha ingresado ningun dato Presione Cualquier tecla para volver");
input.nextLine();
}finally{
break;}
case 3:
try{
grafica()
;
}catch(NullPointerException e){
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();
}catch(Exception e){
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);
}
}