Programación en lenguaje Java (13) Soluciones Array y Lotto

 En el proceso de ejecución del programa, a menudo es necesario almacenar una gran cantidad de datos. Por ejemplo, debe leer 100 números, calcular su promedio y luego averiguar cuántos números son mayores que el promedio. Primero, el programa necesita leer estos libros y calcular su Promedio, y luego comparar cada número con el promedio y retrógrado para determinar si es mayor que el promedio. Para lograr esta función, debemos optar por almacenar todos estos números en variables, y 100 las variables deben ser declaradas. En este momento, necesitamos un método. El lenguaje Java proporciona una estructura de datos llamada matriz, que se utiliza para almacenar un conjunto ordenado con un número fijo de elementos y el mismo tipo de elemento. En este ejemplo, todos Se pueden almacenar 100 números En una matriz, acceda a ella a través de una variable de matriz unidimensional, la solución es la siguiente:   

números de análisis de paquetes;

import java.util.Scanner;

/ **
 *
 * @author john
 * /
public class AnalyzeNumbers {

    / **
     * @param argumenta los argumentos de la línea de comando
     * /
    public static void main (String [] args) {
        // Lógica de aplicación de código TODO aquí
        final int NUMBER_OF_ELEMENTS = 100;
        doble [] números = nuevo doble [NUMBER_OF_ELEMENTS];
        suma doble = 0;
        Entrada del escáner = nuevo escáner (System.in);
        for (int i = 0; i <NUMBER_OF_ELEMENTS; i ++) {
            System.out.println ("Ingrese un número:");
            números [i] = input.nextDouble ();
            suma = suma + números [i];
    }
        doble promedio = suma / NUMBER_OF_ELEMENTS;
        int count = 0;
        para (int i = 0; i <NUMBER_OF_ELEMENTS; i ++)
        {
            if (números [i]> promedio)
                cuenta ++;
        }
        System.out.println ("El promedio es" + promedio);
        System.out.println ("El número de elementos por encima del promedio es" + recuento);
    }
    
}

      Nuestro programa crea una matriz con 100 elementos, almacena estos números en la matriz, agrega cada número a la suma y obtiene su valor promedio, y luego compara cada número en la matriz con el valor promedio.

      Una matriz es una colección de datos, pero generalmente pensamos en una matriz como una colección de variables del mismo tipo. No necesitamos declarar cada variable individual, simplemente declarar una variable de matriz y usar número [0], número [ 1], etc. Y así sucesivamente para representar una sola variable.

      1. Declarar variables de matriz

      Para utilizar una matriz en un programa, debe declarar una variable que haga referencia a la matriz y especificar el tipo de elemento de la matriz. La siguiente es la sintaxis para declarar variables de matriz

      elementType [] arrayRefvar ;

      elementType puede ser cualquier tipo de datos, pero todos los elementos de la matriz deben tener el mismo tipo de datos, arrayRefvar es una variable de datos referenciada, como double [] mylist

     2. Crea una matriz

      A diferencia de la declaración de variables de tipo de datos básicos, declarar una variable de matriz no asigna ningún espacio para la matriz en la memoria. Simplemente crea una ubicación de almacenamiento para la referencia de matriz. Si la variable no contiene una referencia a la matriz, entonces el valor de esta variable es nulo. Podemos declarar una variable de matriz, crear una matriz y fusionar las variables de asignación de referencia de matriz juntos, por ejemplo: double [] mylist = new double [10], esta oración da vida a la variable de matriz mylist, crea una matriz que consta de diez elementos dobles y asigna la referencia de la matriz a mylist, podemos usar lo siguiente par de sintaxis Asignar valor a la matriz, mylist [0] = 5.6;

      3. Tamaño de la matriz

      Al asignar espacio para una matriz, el tamaño de la matriz debe determinarse especificando la cantidad de elementos que la matriz puede almacenar. Después de crear la matriz, su tamaño no se puede modificar. Podemos usar arrayRefvar.length para encontrar el tamaño de la matriz, como mylist.length es 10.

      4. Variable de subíndice de matriz

      Se puede acceder a los elementos de la matriz a través de subíndices. Los subíndices de la matriz se basan en 0, es decir, el rango es de 0 a arrayRefvar-1. Por ejemplo, mylist contiene 10 valores dobles y los subíndices van de 0 a 9, mylist [9 ] Representa el último elemento de la matriz.

      5. Sintaxis de inicialización de matriz y matriz de procesamiento

      Java tiene una notación concisa, que se puede declarar, crear e inicializar directamente. Por ejemplo, double [] mylist = {1.0,2.0,3.0,4.0}, el operador new no es aplicable a este tipo de lluvia de inicialización. Cuando utilice la sintaxis de inicialización de matriz, debe poner la declaración de variable, creación e inicialización en una declaración, separada Producirá errores gramaticales.

     Cuando se trata de elementos de matriz, a menudo usamos bucles for:

      java.util.Scanner input = new java.util.Scanner (System.in);

      System.out.println ("Enter" + mylist.length + "valores:");

      para (int i = 0; i <mylist.length; i ++)

      mylist [i] = input.nextDouble ();

      Usemos una matriz a través de un ejemplo específico. Elegimos el problema del número de lotería. Si compro un número y espero que cubra todos los números del 1 al 99, ingresamos los números y verificamos si todos los números están cubiertos. El último número termina en 0.

      Antes de escribir el programa, primero debemos pensar en el algoritmo. Podemos crear una matriz de elementos booleanos. El estado inicial es que cada elemento es falso. Cuando se lee un número, su elemento correspondiente se establece en verdadero. Leemos cada número k desde el teclado, establecemos el número k que cubrirá isCovered [k-1] establecido en verdadero, y luego, si cada uno isCovered [i] es verdadero, entonces el chip cubre todos los números; de lo contrario, no hay cobertura , La lista de programas es la siguiente:

números de lote del paquete;

import java.util.Scanner;

/ **
 *
 * @author john
 * /
public class LottoNumbers {

    / **
     * @param argumenta los argumentos de la línea de comando
     * /
    public static void main (String [] args) {
        // Lógica de aplicación de código TODO aquí
        Scanner input = new Scanner (System.in);
        boolean [] isCovered = new boolean [99];
        int número = input.nextInt ();
        while (número! = 0) {está
            cubierto [número-1] = verdadero;
            número = input.nextInt ();
        }
        booleano allCovered = true;
        for (int i = 0; i <99; i ++)
            if (isCovered [i]! = true) {
                 allCovered = false;
                 romper;
            }
               si (todo cubierto)
                   System.out.println ("Los tickets cubren todos los números");
               else
                   System.out.println ("Los boletos no cubren todos los números");
    }
    
}

imagen

     El programa se ejecuta correctamente y el problema está resuelto. Si hemos creado un archivo de texto llamado LottoNumbers.txt, el archivo incluye el valor y el final es 0, puedes ejecutar el programa con el siguiente comando:

      Java LottoNumbers <LottoNumbers.txt


Supongo que te gusta

Origin blog.51cto.com/15064656/2602770
Recomendado
Clasificación