Java Ejercicios Básicos de Arrays Resueltos 2

Relación Nº 2: Ejercicios 3 y 4

3. Programa que lee por teclado la nota de los alumnos de una clase y calcula la nota media del grupo. También muestra los alumnos con notas superiores a la media. El número de alumnos se lee por teclado.
Este programa utiliza un array de elementos de tipo double que contendrá las notas de los alumnos. 
El tamaño del array será el número de alumnos de la clase, por lo tanto primero se pedirá por teclado el número de alumnos y a continuación se creará el array.
Se realizan 3 recorridos sobre el array, el primero para asignar a cada elemento las notas introducidas por teclado, el segundo para sumarlas y calcular la media y el tercero para mostrar los alumnos con notas superiores a la media.
import java.util.*;
public class MediaDeLaClase {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int numAlum, i;
        double suma = 0, media;

        //Lectura del número de alumnos. Debe ser un valor positivo
        do {
            System.out.print("Número de alumnos de la clase: ");
            numAlum = sc.nextInt();
        } while (numAlum <= 0);

        //se crea un array llamado notas de numAlumn elementos de tipo double
        double[] notas = new double[numAlum]; 
        
        // Entrada de datos. Se lee la nota de cada alummo y se guarda
        // en cada elemento del array
        for (i = 0; i < notas.length; i++) {
            System.out.print("Alumno " + (i + 1) + " Nota final: ");
            notas[i] = sc.nextDouble();
        }

        // Sumar todas las notas
        for (i = 0; i < notas.length; i++) {
            suma = suma + notas[i];
        }

        // Calcular la media
        media = suma / notas.length;

        // Mostrar la media
        System.out.printf("Nota media del curso: %.2f %n", media);

        // Mostrar los valores superiores a la media
        System.out.println("Listado de notas superiores a la media: ");
        for (i = 0; i < notas.length; i++) {
            if (notas[i] > media) {
                System.out.println("Alumno numero " + (i + 1)+ " Nota final: " + notas[i]);
            }
        }
    }
}



4. Programa que crea un array de 20 elementos llamado Pares y guarde los 20 primeros números pares. Mostrar por pantalla el contenido del array creado. 

/*
 * Programa que crea un array de 20 elementos
 * llamado Pares y guarde los 20 primeros
 * números pares.
 * Mostrar por pantalla el contenido
 * del array creado
 */
import java.util.*;
public class ArrayPares {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int i, cont = 2;

        int[] pares = new int[20];

            //Llenamos el array con números pares. Utilizamos un contador
        //con valor inicial 2 y le sumamos dos en cada iteración.
        for (i = 0; i < pares.length; i++) {
            pares[i] = cont;
            cont += 2;
        }
         
            //Mostrar el array
        for (i = 0; i < pares.length; i++) {
            System.out.println(pares[i]);
        }
    }
}


30 comentarios:

  1. //creo que seria mejor de esta forma
    public class Ejemplo4 {

    public static void main(String[] args) {
    int[] arrayPares = new int[20];
    int index = 0;
    int i = 1;
    do {
    if (i % 2 == 0) {
    arrayPares[index] = i;
    index++;
    i++;
    }else{
    i++;
    }
    } while (index<20);
    for (int j = 0; j < arrayPares.length; j++) {
    System.out.print(arrayPares[j]+",");
    }
    }
    }

    ResponderEliminar
  2. aora un programa en java "retornar la inversa de un dado"

    ResponderEliminar
  3. 2. Crear una aplicación que permita registrar los datos de 10 empleados, edades y sueldo. Mostrar quien o quienes su salario es mayor al salario promedio.

    ayuda por favor

    ResponderEliminar
  4. Urgente es para un trabajo que tengo que presentar hoy

    ResponderEliminar
    Respuestas
    1. Hola Braulio, el ejercicio 3 es similar al que te piden. Puedes modificarlo para hacer tu ejercicio.

      Eliminar
  5. Urgente es para un trabajo que tengo que presentar hoy

    ResponderEliminar
  6. a la media le llamas o es el promedio

    ResponderEliminar
  7. hola crea un programa que permitirá registrar, consultar y modificar los datos de una persona.
    Los datos de una persona son: nombre, teléfono y correo electrónico.
    utilizando get y set...

    ResponderEliminar
  8. Hola tengo este enunciado como lo hago por favor alguien me ayuda.
    En un colegio secundario, se tiene una lista general de todos los alumnos en la cual figuran, para cada alumno los siguientes datos:
    • número de legajo
    • nombre
    • curso (1 al 5)
    • promedio anual
    • una variable que indica sexo (1: varón, 2: mujer)
    Se desea un programa que cargue esos datos alumno por alumno (cortando cuando el legajo sea 0 [cero]), y determine:
    1- Cantidad de varones y cantidad de mujeres con promedio individual menor a cuatro en el colegio.
    2- Cantidad total de alumnos cuyo promedio anual sea menor a cuatro.
    3- Promedio general entre todos los alumnos del colegio (suma de todos los promedios individuales, dividida por el total general de alumnos).
    4- Si el promedio individual del alumno ingresado, es mayor que 9.50, emitir un mensaje indicando que debe darse a ese alumno una mención especial.
    5- Nombre y legajo del alumno con menor promedio individual en quinto año del colegio.

    ResponderEliminar
  9. El ejercicio 4, ya de por sí sencillo y claro como todo lo que hace Enrique,
    se podría suprimir la variable "cont" y dentro del for
    pares[i] = 2*(i+1);

    Gracias a Enrique por su inmejorable trabajo!!!

    ResponderEliminar
  10. Una pregunta que quiere decir esto=
    %2f que va dentro de un print ya he visyo varios gracias al q reponda.

    ResponderEliminar
    Respuestas
    1. %.2f se utiliza para mostrar el número con dos decimales. En esta entrada se explica como funciona printf
      http://puntocomnoesunlenguaje.blogspot.com.es/2012/08/java-printf.html

      Eliminar
  11. hola tengo este ejercicio muy similar pero estoy muy enredado

    diseñar un arreglo de 20 posiciones que capture numeros positivos, muestre cuanto suman los numeros impares almacenados en el arreglo, la suma de los pares y mostrar todos los numeros.

    ResponderEliminar
  12. un Programa que Muestre 20 nombres De Personas???? como lo puedo hacer?

    ResponderEliminar
  13. Escribir un método para transformar la lista de tal
    forma que si el primer nodo
    es de un alumno de sexo masculino,
    el siguiente sea de sexo femenino,
    así alternativamente,
    siempre que sea posible, masculino y femenino.... porfa ayudenme es para mañana mi proyecto

    ResponderEliminar
  14. NECESITO AYUDA URGENTE CON UN PROGRAMA EN NETBEANS, PODRIAN SER TAN AMABLES DE AYUDARME!?
    1. Introducir x cantidad de números enteros y realizar lo siguiente:
    a. Determinar su promedio y mostrarlo
    b. Indicar cuantos números de los introducidos son mayores que el promedio y mostrar cuales son
    c. Indicar cuantos números de los introducidos son menores que el promedio y mostrar cuales son.

    SE LES AGRADECE!! :)

    ResponderEliminar
  15. sacar una estadística de x números (en la estadística debe estar el total de numero q ingresas , cuantos ceros ,cuantos pares,cuantos impares y cada uno tenga un porcentaje ayuden espero averme explicado bien

    ResponderEliminar
  16. realizar un programa que me permita el nombre de un alumno y sus cuatro notas y luego calcular y mostrar por pantalla la suma y promedio de las notas

    ResponderEliminar
    Respuestas
    1. import java.util.*;
      public class ejercicio
      {
      public static void main(String[] args){

      Scanner teclado=new Scanner(System.in);
      int mat,pro=0,cal,i;
      // double alumno;

      System.out.print("ingrese matricula: ");
      mat=teclado.nextInt();
      for(i=1;i<=20;++i)
      {
      System.out.print("ingrese calificacion "+i+": ");
      cal=teclado.nextInt();
      pro+=cal;
      //alumno=alumno[i]

      }

      pro=pro/20;


      if(pro>=7)

      System.out.println("\nmatricula= "+mat+"\npromedio= "+pro+"\nAPROVADO");
      else
      System.out.println("\nmatricula= "+mat+"\npromedio= "+pro+"\nREPROVADO");
      }
      }
      segun yo es este solo debes de cambiar la matricula por el nombre del alumno

      Eliminar
  17. HOLA TENGO UN PROBLEMA SIMILAR Q TENGO Q REALIZAR EN JAVA NETBEANS Y ESTOY PERDIDA
    DESARROLLAR UN PROYECTO PARA REGISTRAR ESTUDIANTES Y SUS RESPECTIVAS NOTAS.
    DEBE CALCULAR PROMEDIO.
    DEBE PERMITIR CONSULTAR A LOS ESTUDIANTES DE UN CURSO.
    TAMBIÉN PERMITIR EL MEJOR ESTUDIANTE POR CURSO.

    ResponderEliminar
  18. me ayudan con este leer 10 números y determinar cuántos son positivos y cuántos son negativos y poner en array todos los positivos y todos los negativos

    ResponderEliminar
  19. Import java.util.Scanner;
    Public class e3{
    Public static void main (String[]args){
    Scanner leer=new Scanner (System.in);
    System.out.println("ingrese un numero: ");
    int n=leer.nextInt();
    int v[]=new int[n];

    System.out.println("vector");
    for(int i=0; i<n; i++){
    System.out.print("v["+i+"]=");
    v[i]=leer.nextInt();}

    int min=v[0];
    int max=v[0];
    for (int j=0; j<n; j++){
    if (v[j]>max){
    max=v[j];
    if (v[j]<min)
    min=v[j];}}
    Sout (""+min);
    Sout (""+max);}}


    ---un favor me puede ayudar tengo que determinar el mayor y el menor. El mayor no hay problema eso sali pero el menor no puedo determinar o buscar para una secuencion de numeros ingresados por teclado

    ResponderEliminar
  20. alguien que me pueda ayudar por favor:
    1.-Escribir un programa que permita leer nombres de personas y calificaciones que se almacenara en 2 arreglos paralelos.
    el programa deberá ordenar los datos por orden alfabético y posteriormente buscar un nombre mostrándolo con su calificación.
    si el nombre no existe en el arreglo, mostrara un mensaje de error....

    2.- Leer una serie de datos reales y almacenarlos en un arreglo unidimensional llamado dato. el programa también debe calcular la media aritmética, la desviación estándar y la varianza de dichos datos.
    debe contener los metodos: leer, visualizar, promedio y clase main...

    plisss.....

    ResponderEliminar
  21. disculpa como puedo unir los ejercicios 1 2 3 y 4 en un solo programa

    ResponderEliminar
  22. Hola requiero de su ayuda.
    Estoy tratando de realizar un algoritmo en el que pueda imprimir lo siguiente.
    X_X_X_
    _XX_
    X__X
    _X_
    X_X

    ResponderEliminar
  23. Buenas Enrique, hice el ejercicio 4 y puse todo en el mismo for, que vaya seleccionando los numeros pares y que los vaya imprimiendo. No se si esta bien, pero funciona, o es mejor hacer un for para rellenar el array y otro para imprimirlo?
    este es mi codigo:

    public void arrayPares(){

    int [] pares = new int[20];
    int contador=2;
    for(int i=0; i<pares.length; i ++){
    pares[i]=contador;
    contador+=2;
    System.out.println(i + ": " + pares[i]);
    }

    }

    ResponderEliminar
  24. Hola Buenas me podrían ayudar con eso me dieron este código y tengo que sacar lo que esta al final y no entiendo muy bien como hacerlo se los agradecería mucho
    public static void main(String[] args) {
    Scanner lector = new Scanner(System.in);

    int n=0;

    System.out.print("Ingrese cantidad de estudiantes: ");

    n=lector.nextInt();

    String[][] notas=new String[n+2][9];

    //Inicializar encabezados
    notas[0][0] = "No";
    notas[0][1] = "Nombre";
    notas[0][2] = "Eval1";
    notas[0][3] = "Eval2";
    notas[0][4] = "Eval3";
    notas[0][5] = "Eval4";
    notas[0][6] = "Eval5";
    notas[0][7] = "Promedio";
    notas[0][8] = "Estado";

    float sumaNotas=0, sumaGral = 0;
    //Se recorre las filas(ESTUDIANTES)
    for(int x=1;x<(n+2);x++)
    {
    notas[x][0] = String.valueOf(x);
    System.out.print("Ingrese Nombre del Estudiante: ");
    notas[x][1] = lector .next();
    //Se recorre las columnas(Ingreso de Notas)

    for(int y = 2; y<7;y++)
    {
    System.out.print("Ingrese Evaluacion "+(y-1)+": ");
    notas[x][y] = lector.next();

    sumaNotas += Float.parseFloat(notas[x][y]);
    }
    notas[x][7] = String.valueOf(sumaNotas/5);
    sumaGral += (sumaNotas / 5);
    if (sumaNotas/5 >=6.0)
    notas[x][8] = "Aprobado";
    else
    notas[x][8] = "Reprobado";
    sumaNotas=0;
    }//Fin de ciclo for x de captura de estudiantes
    notas[n+1][6] = "Promedio Gral.";
    notas[n+1][7] = String.valueOf(sumaGral / n);
    if (sumaGral/n >=6.0)
    notas[n+1][8] = "Aprobado";
    else
    notas[n+1][8] ="Reprobado";
    //Luego de imprimir en pantalla el cuadro de notas
    for(int x = 0; x<=n;x++ )
    {//Recorre filas
    for(int y = 0; y<9;y++)
    {
    System.out.print("\t"+notas[x][y]);
    }
    //salto de linea por fila
    System.out.println();
    }
    //Imprimir el nombre del estudiante con la peor evaluacion y su nota
    //Imprimir el nombre del estudiante con la mejor evaluacion y su nota
    //Imprimir en que evaluacion se obtuvo el mejor rendimiento y el promedio
    //Imprimir en que evaluacion se obtuvo el peor rendimiento y el promedio

    ResponderEliminar