CodeGym /Blog Java /Random-ES /Antiguo nivel 07
John Squirrels
Nivel 41
San Francisco

Antiguo nivel 07

Publicado en el grupo Random-ES

Tecnologías de la información

Antiguo nivel 07 - 1La revolución informática, que comenzó a finales del siglo XX, dio como resultado la creación de Internet (la web) en los años 90. Y ese fue el comienzo de una revolución aún mayor. El efecto de la creación de Internet es como la industrialización. Pero lo más rico es que este proceso acaba de empezar.

Nuevo mundo

La cantidad del sitio supera los 200 millones. 3 mil millones de usuarios de Internet por ahí. Subastas en Internet, sitios web, tiendas en línea, servicios de Internet. La industria de la tecnología de la información crece entre un 20 % y un 30 % anualmente. Son tarifas monstruosas. Y sigue creciendo. Desde hace 10 años en Silicon Valley (el principal centro de la industria de alta tecnología del mundo), cada 2 meses se crea una empresa, que luego cuesta miles de millones de dólares. Sin mencionar estrellas de Internet como Facebook ($220 mil millones), Amazon ($140 mil millones) y Google ($350 mil millones). Todas estas empresas no aparecerían, si no hubiera Internet. Todo esto da como resultado una gran demanda de especialistas en TI. La industria mundial de alta tecnología requiere: desarrolladores de software, diseñadores, evaluadores de control de calidad, arquitectos, gerentes, administradores de sistemas y otros especialistas.

Es bueno ser un especialista en TI

Antiguo nivel 07 - 2Si eres un especialista en TI, es un momento dorado para ti. Puedes trabajar para una gran empresa y vivir en un pueblo pequeño o trabajar para una empresa extranjera. Puede ganar el doble que en la UE, por ejemplo, pero obtendrá de 3 a 10 veces más que en el mercado laboral local. Cuanto más pequeño es el pueblo, mayor es la diferencia. Recibirá una experiencia valiosa, buen dinero y un futuro brillante. A veces irá en viajes de negocios a la oficina de su empleador. Y si te gusta mucho, puedes mudarte allí. Una marea creciente levanta todos los barcos. ¿Por qué no sería ese barco el que está en el momento adecuado y en el lugar adecuado? Esto también es un arte.

Has alcanzado un nuevo nivel

Nivel 7

Antiguo nivel 07 - 3

1 Elly, arreglos

- ¡Hola, amigo! - ¿Qué pasa, Elly? - Hoy les contaré sobre una nueva entidad interesante: las matrices. Una matriz es un tipo de datos especial que puede almacenar más de un valor. Antiguo nivel 07 - 4- Comenzaré con la analogía. Comparemos una casa habitual y una de gran altura. Una casa está ocupada por una sola familia, mientras que un edificio de gran altura está dividido en apartamentos. Debe especificar la dirección única para escribir una carta a una familia que vive en la casa. Para una familia que vive en un apartamento, debe especificar además el número de apartamento. - Sí, eso está claro. - Entonces, una variable de matriz es como un edificio alto. Puede almacenar varios valores en él. Tal variable tiene algunos apartamentos (celdas). Se puede acceder a cada uno de los apartamentos por su número (índice).Para ello, después del nombre de la variable entre corchetes se debe especificar el índice de la celda a la que se accede. Es bastante simple. - Eso espero. - Una variable de matriz (un edificio de gran altura) puede ser de cualquier tipo, por lo que solo tiene que escribir TypeName[] variable_nameen lugar de TypeName variable_name. - Estos son algunos ejemplos de lo que puede hacer con matrices: Antiguo nivel 07 - 5- ¡Qué emocionante! - Una variable de matriz necesita una inicialización adicional. - ¿Porque? - Una variable habitual está lista para su uso justo después de su declaración. En cuanto a las matrices, es un poco más complicado: - Primero, debe crear un contenedor de N elementos y luego puede colocar valores en él. Antiguo nivel 07 - 6- Sí. Se vuelve más claro ahora. - Los conceptos básicos sobre las matrices :
  1. La matriz consta de varias celdas.
  2. A cada celda se accede indicando su número.
  3. Todas las celdas son del mismo tipo.
  4. En una matriz de n elementos, las celdas tienen índices 0,1,2,...,n-1. No hay celda con índice n en la matriz.
  5. El valor inicial para todas las celdas es nulo, para tipos primitivos - 0, 0.0 para fraccionarios, falso - para tipo booleano, exactamente igual que en variables simples no inicializadas.
  6. La lista String[] es solo una declaración de una variable. Primero debe crear una matriz (contenedor) y colocarla en la variable, y luego usarla. Vea el ejemplo a continuación.
  7. Cuando crea una matriz de objetos (contenedor), es necesario especificar su longitud (cuántas celdas tendrá). Para hacer esto, debe escribir un comando: TypeName es el tipo de valores que se almacenarán en las celdas de la matriz.new TypeName[n];
Antiguo nivel 07 - 7- Ejemplos: Antiguo nivel 07 - 8

2 Risha, Disposición de arreglos en la memoria

- ¡Hola, amigo! Déjame mostrarte cómo funciona todo en la memoria: Antiguo nivel 07 - 9- ¿Y qué es este 345? - En realidad, lo saqué del aire, pero normalmente es la dirección de la cadena que contiene la palabra «Stop». - En cuanto a las matrices, es un poco más complicado:
Antiguo nivel 07 - 10
- ¿155,166,177 también son números sacados de un sombrero que representan la dirección de las cadenas de la derecha? - Sí. Es bueno que lo hayas adivinado. Tenga en cuenta que, en la segunda imagen, hay un objeto adicional: una matriz de 10 celdas. - Todo está claro, gracias. Una imagen vale mas que mil palabras. Gracias, Risha.

3 Risha, Ejemplos de arreglos Array

- Quiero darte algunos ejemplos de cosas interesantes que puedes hacer con arreglos: Ejemplo 1. Antiguo nivel 07 - 11Ejemplo 2. Antiguo nivel 07 - 12Ejemplo 3. Antiguo nivel 07 - 13Ejemplo 4. Antiguo nivel 07 - 14Ejemplo 5. Antiguo nivel 07 - 15

4 Diego, Tareas de creación y uso de arrays

- ¡Hola, amigo! Aquí hay un par de tareas para ti, amigo:
Tareas
1 1. Máximo de una matriz de 20 números
1. En el método initializeArray() :
1.1. Crear una matriz de 20 números
1.2. Lea del teclado 20 números y llene la matriz con ellos
2. El método max(int[] matriz) debe encontrar el número máximo de elementos de la matriz

2

2. Matriz de cadenas en orden inverso
1. Cree una matriz de 10 cadenas.
2. Lea del teclado 8 cuerdas y guárdelas en la matriz.
3. Muestre en la pantalla el contenido de la matriz completa (10 elementos) en orden inverso. Cada elemento debe estar en una nueva línea.

3 3. 2 matrices
1. Cree una matriz de 10 cadenas.
2. Crea otra matriz de 10 números.
3. Lea del teclado 10 cuerdas y llene la matriz de cuerdas con ellas.
4. Escriba la longitud de una cadena de cada celda de la matriz de cadenas en la celda de la matriz de números con el mismo índice. Muestra en pantalla el contenido de la matriz de números. Cada valor debe estar en una nueva línea.
4 4. Matriz de números en orden inverso
1. Crea una matriz de 10 números.
2. Lea del teclado 10 números y guárdelos en la matriz.
3. Organice los elementos de la matriz en orden inverso.
4. Mostrar en pantalla el resultado. Cada valor debe estar en una nueva línea.
5 5. Una matriz grande y dos pequeñas
1. Cree una matriz de 20 números.
2. Lea del teclado 20 números y llene la matriz con ellos.
3. Crea dos matrices de 10 números cada una.
4. Copie los números de la matriz grande en dos matrices pequeñas: la mitad de los números en la primera matriz y la otra mitad en la segunda.
5. Muestre en la pantalla la segunda matriz pequeña. Cada valor debe estar en una nueva línea.

5 Elly, ArrayList vs Array

- Soy yo. - ¡Hola, Elly! - ¡Hoy tenemos un nuevo tema emocionante! Ahora les contaré sobre una nueva clase interesante, la ArrayList . - Oh, una nueva clase? ¡Guau! ¿Qué hace? - Permítanme comenzar con una pequeña historia de fondo. A los programadores no les gustó una propiedad de una matriz: es imposible cambiar su tamaño. ¿Qué hacer si desea almacenar tres entradas más en la matriz, pero solo hay un espacio libre? - La única solución al problema de la falta de espacio era crear una matriz muy grande que contuviera todos los elementos. Pero esto a menudo conducía a un uso ineficiente de la memoria. Por ejemplo, si en el 99% de la vida útil de la matriz necesita almacenar solo 3 elementos en la matriz, y solo en el 1%: 100 elementos, tendría que crear una matriz de 100 elementos. - Entonces, ¿qué idearon los programadores? - Escribieron la clase ArrayList que hacía el mismo trabajo que el Array, pero podía variar su tamaño. - Un movimiento interesante. ¿Y cómo hicieron eso? - Cada objeto ArrayList almacena una matriz normal de elementos en su interior. Cuando lee elementos de ArrayList , los lee de su matriz interna. Cuando escribe los elementos, los escribe en la matriz interna. Compare: Antiguo nivel 07 - 16- Entonces, ¿cuál es la ventaja de ArrayList? En cuanto a mí, el código se hizo más largo. - En primer lugar, ArrayList admite algunas características adicionales que no están disponibles en la matriz, que los programadores usan con mucha frecuencia. Por ejemplo,inserte elementos y elimínelos desde el medio de la matriz sin dejar agujeros. - En segundo lugar, ArrayList puede cambiar su tamaño . Cuando ArrayList necesita almacenar un elemento más en su matriz interna y no hay espacio libre, sucede lo siguiente dentro de ArrayList :
  1. se crea otra matriz, el doble de grande.
  2. todos los elementos de la matriz anterior se copian en la nueva matriz.
  3. una nueva matriz se almacena en una variable interna del objeto ArrayList, la matriz anterior se declara basura (simplemente ya no almacenamos su referencia).
Antiguo nivel 07 - 17¿Y cómo trabajar con el ArrayList? - En realidad, de la misma manera que con una matriz. Mira aquí. Comparemos el trabajo con ArrayList y trabajemos con una matriz. Como ejemplo, resolvamos la siguiente tarea: « El programa debe leer del teclado 10 cadenas y mostrarlas en la pantalla en orden inverso ». - Mira esto: Antiguo nivel 07 - 18- Pinté acciones equivalentes en ambas columnas con un color. - Parece diferente, pero si lo miras más de cerca todo es igual. - Sí. Ahora no tenemos corchetes cuando usamos ArrayList . En su lugar, usamos los métodos get , set y add . - Lo he notado. Pero sigue siendo muy similar.

6 Diego, tareas ArrayList

- ¿Estás haciendo nada otra vez? Eres un robot, ¿no? Los robots siempre están ocupados con algo. Aquí hay algunas tareas para mantenerte despierto. Pero comencemos con un par de consejos. - Sugerencia 1: una lista suele significar una ArrayList . - Consejo 2: Una cadena significa el tipo Cadena . - Sugerencia 3: para crear una lista de cadenas, lo más común es ArrayList<String> list = new ArrayList<String>();
Tareas
1 Tarea 1. 5 cadenas diferentes en una lista
1. Cree una lista de cadenas.
2. Agregue 5 cadenas diferentes a la lista.
3. Mostrar en pantalla su tamaño.
4. Mostrar en pantalla el contenido de la lista. Cada valor debe estar en una nueva línea. Usa un bucle.
2 Tarea 2. 5 líneas: «101», «102», «103», «104», «105»
1. Crea una lista de cadenas.
2. Agregue 5 cadenas a la lista. «101», «102», «103», «104», «105».
3. Elimina el primero, el del medio y el último.
4. Mostrar en pantalla el contenido de la lista. Cada valor debe estar en una nueva línea. Usa un bucle.
5. Mostrar en pantalla su tamaño. (Después de eliminar una entrada, los índices de otras entradas cambian. Por ejemplo, si eliminamos el primer elemento, el segundo se convierte en el primero).
3 Tarea 3. 5 líneas en orden inverso
1. Cree una lista de cadenas.
2. Lea 5 cadenas del teclado y luego agréguelas a la lista.
3. Colóquelos en orden inverso.
4. Mostrar en pantalla el contenido de la lista. Cada valor debe estar en una nueva línea. Usa un bucle.
4

Tarea 4. Agregue 5 cadenas al principio de la lista
1. Cree una lista de cadenas.
2. Leer desde el teclado 5 cuerdas. Agregue estas cadenas al principio de la lista, no al final.
3. Mostrar en pantalla el contenido de la lista. Cada valor debe estar en una nueva línea. Usa un bucle.

5 Tarea 5. Eliminar la última cadena y agregarla al principio de la lista
1. Crear una lista de cadenas.
2. Leer desde el teclado 5 cuerdas. Agregue estas cadenas a la lista.
3. Elimine la última cadena y agréguela al principio de la lista. Repite esta acción 13 veces.
4. Mostrar en pantalla el contenido de la lista. Cada valor debe estar en una nueva línea. Usa un bucle.

7 Risha, Genéricos

- Ahora, otro tema impresionante. - Este día está lleno de sorpresas. Es como un cumpleaños de verdad. - Hoy les contaré qué son los Genéricos. Los genéricos son tipos que tienen parámetros. En Java, las clases contenedoras le permiten especificar tipos de sus objetos internos . - Cuando declaramos una variable genérica, especificamos dos tipos en lugar de uno: el tipo de la variable y el tipo de datos almacenados en la variable. Un buen ejemplo de esto es ArrayList. Cuando creamos un nuevo objeto/variable de tipo ArrayList, también es bueno especificar el tipo de valores que se almacenarán dentro de la lista. Antiguo nivel 07 - 19- Suena emocionante. Me encantó especialmente lo que dijiste sobre cualquier tipo. - Simplemente parece ser bueno. De hecho, si en un método las cadenas se colocan en una ArrayList, y en el otro método trabaja con su contenido y espera que solo haya números, el programa fallará. - Veo. - Hasta ahora, no vamos a crear nuestras propias clases con parámetros de tipo, aprenderemos a usar clases escritas por creadores de Java. - ¿Puedo usar cualquier clase como parámetro de tipo, incluso la escrita por mí mismo? - Sí, de cualquier tipo, excepto primitivos. Todos los parámetros de clase tienen que ser heredados de la clase Objeto. - Entonces no puedo escribir ArrayList<int> , ¿verdad? - No puedes. Pero los desarrolladores de Java han escrito para tipos primitivos sus análogos no primitivos: clases heredadas deobjeto _ Así es como se ve: Antiguo nivel 07 - 20- Los tipos primitivos y las clases análogas (clases envolventes) se pueden asignar fácilmente entre sí: Antiguo nivel 07 - 21- Bien. Entonces supongo que usaré ArrayList con más frecuencia.

8 Risha, Ejemplos de ArrayList, Genéricos

Antiguo nivel 07 - 22- Ahora te daré cosas realmente útiles. Estos son algunos ejemplos útiles para trabajar con ArrayList y Generics: - Ejemplo 1. Antiguo nivel 07 - 23- Ejemplo 2. Antiguo nivel 07 - 24- Ejemplo 3. Antiguo nivel 07 - 25- Ejemplo 4. Antiguo nivel 07 - 26- Ejemplo 5. Antiguo nivel 07 - 27- ¡Impresionante! Entonces, Diego me va a dar un montón de tareas similares ahora, ¿no? - ¡Sí!

9 Diego, List<T> tareas

- Por fin eres libre. Estoy cansado de tener en cuenta estas tareas para ti. Aquí hay un par más para mantenerte despierto:
Tareas adicionales para hacer en Intellij Idea
1 1. Tres matrices
1. Lea del teclado 20 números, guárdelos en una lista y luego clasifíquelos en otras tres listas:
Lista 1 almacena números divisibles por 3 ( x%3==0 )
Lista 2 almacena números divisibles por 2 ( x%2==0 )
La lista 3 almacena el resto de números.
Los números divisibles por 3 y 2 al mismo tiempo (por ejemplo, 6) pertenecen a ambas listas: lista 1 y lista 2.
2. El método printList() debe mostrar cada elemento de la lista en una nueva línea.
3. Utilice el método printList() para mostrar en pantalla estas tres listas. Primero se debe mostrar la lista 1, luego la lista 2, luego la lista 3.
2 2. 5 palabras en orden inverso
Leer desde el teclado 5 palabras. Agréguelos a una lista de cadenas y muéstrelos en la pantalla en orden inverso.
3 3. La palabra «aquí»
1. Haz una lista de las palabras «para», «mira», «escucha».
2. Agregue una cadena que contenga «aquí» después de cada palabra.
3. Muestre el resultado. Cada elemento de la lista debe estar en una nueva línea. Utilice el bucle "for".
4 4. Letras «r» y «l»
1. Crea una lista de palabras/cadenas, rellénala con lo que quieras.
2. El método fix() debería:
2.1. eliminar todas las palabras que contengan la letra «r» de la lista de cadenas
2.2. duplicar todas las palabras que contengan la letra «l».
2.3. deje la palabra sin cambios si contiene las letras «r» y «l».
2.4. no hagas nada con otras palabras.

Ejemplo:
rosa
sauce lira
roble
Datos

de salida:
sauce
sauce
lira
roble
5 5. Duplicar las palabras
1. Leer desde el teclado 10 palabras/cadenas, agregarlas a una lista de cadenas.
2. El método doubleValues ​​debe duplicar palabras según el patrón:
a,b,c → a,a,b,b,c,c.
3. Muestre el resultado. Cada elemento de la lista debe estar en una nueva línea. Utilice el bucle "for".

10 profesor

Antiguo nivel 07 - 28- ¡Encontré mis maravillosas conferencias! Así que hoy obtendrá el conocimiento más valioso en arreglos y listas. Aquí están: Consejos sobre ArrayList en Java

11 julio

- ¡Hola, amigo! Me alegro de que hayas superado todo esto. Te mereces una recompensa:

12 capitanas ardillas

- ¡Hola, soldado! - ¡Buenos días señor! - Tengo una noticia increíble para ti. Aquí tienes una comprobación rápida para reforzar tus habilidades. Hágalo todos los días y mejorará sus habilidades muy rápido. Las tareas están especialmente diseñadas para hacer en Intellij IDEA.
Tareas adicionales para hacer en Intellij Idea
1 1. Muestra los números en orden inverso.
Lee del teclado 10 números y completa la lista con ellos.
Muestre en la pantalla los números en orden inverso. Usa el bucle.
2 2. Mover las primeras M líneas al final de la lista. Leer
del teclado 2 números: N y M.
Lea del teclado N cadenas y llene una lista con ellas.
Mover las primeras M líneas al final de la lista
Mostrar en pantalla la lista. Cada valor debe estar en una nueva línea.
3 3. Número más grande y más pequeño en una matriz
Crea una matriz de 20 números.
Llénelo con números que se leen desde el teclado.
Encuentra el número más grande y más pequeño en una matriz.
Muestra en pantalla los números mayor y menor separados por un espacio.
4 4. Lea las cadenas desde el teclado hasta que el usuario ingrese la cadena "fin".
Cree una lista de cadenas.
Lea de las cadenas del teclado (lo que quiera), agréguelas a la lista.
Leer cadenas desde el teclado hasta que el usuario ingrese la cadena "fin". debe omitirse “fin”.
Mostrar en pantalla las cadenas. Cada cadena debe estar en una nueva línea.
5 5. ¡Explosión!
Escriba un programa que cuente hacia atrás de 30 a 0 y muestre «¡Bang!» al final. El programa debe reducir el número 10 veces por segundo. Utilice la siguiente función para insertar un retraso:
Thread.sleep(100); //retraso de una décima de segundo.
Ejemplo:
30
29

1
0
¡Bang!
6 6. Familia
Cree una clase Humano con los campos: String name , boolean sex , int age , Human father , Human mother . Crea 9 objetos de clase Humano y llénalos de tal manera que obtengas dos abuelos, dos abuelas, un padre, una madre y tres hijos. Muestre a la pantalla los objetos a la pantalla.
Sugerencia:
si escribe su método String toString() en la clase Human, se utilizará para mostrar un objeto.
Salida de ejemplo:
Nombre: Anna, sexo: mujer, edad: 21, padre: Paul, madre: Kate
Nombre: Kate, sexo: mujer, edad: 55
Nombre: Ian, sexo: masculino, edad: 2, padre: Michael, madre: Anna
7 7. Mueva un modificador estático
Mueva un modificador estático para que el programa compile.
- Esas tareas eran para los verdes. Agregué tareas adicionales de mayor complejidad. Solo para top guns.
tareas de bonificación
1 1. El programa no se compila ni ejecuta. Arreglalo.
Tarea: Leer desde el teclado los datos del gato y mostrarlos en la pantalla.
Ejemplo:
el nombre del gato es Jinx, la edad es 6, el peso es 5, la cola = 22 El
nombre del gato es Maisy, la edad es 8, el peso es 7, la cola = 20
2 2. Agregar nueva funcionalidad al programa.
Tarea anterior: el programa lee cadenas hasta que el usuario ingresa una línea en blanco presionando enter. Luego convierte minúsculas en mayúsculas (mamá se convierte en mamá) y las muestra en la pantalla.
Nueva tarea: el programa debe leer cadenas hasta que el usuario ingrese una línea en blanco presionando enter. A continuación, el programa crea una nueva lista. Si la cadena tiene un número par de caracteres, la cadena se duplica, si es un número impar, la cadena se triplica.
Ejemplo de entrada:
Cat
Cats
Me
Ejemplo de salida:
Cat Cat Cat
Cats Cats
Me Me
3 3. Algoritmo de aprendizaje y práctica.
Lea del teclado 20 números y muéstrelos en orden descendente.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION