19/04/2021
Editorial.
”En esta revista vamos a aprender a saber las curiosidades que hay en en esta información que es muy importan té y es una revista que tiene demasiado para aprender y saber que pasa en el entorno de la tecnología de los programas de javas y algunas de sus herramientas que se están haciendo o se utilizan más en esto últimos tiempo sus herramientas más simple o más usadas como los vectores, unidimensional, bidimensional y algunas cosas más que nos gustara y sabremos apreciar en esta revista.”
Directorio Carlos soto
José Valenzuela
Aura Valenzuela Carlos soto Karen mariana
Aura gil Ricardo Alvares Gabriela cadenilla
Índice.
Artículos Un tipo de declaración de Java es una declaración de declaración, que se utiliza para declarar una variable especificando su tipo de datos y nombre. A continuación se muestran algunos ejemplos de declaraciones de declaración. Una variable , en relación con la programación Java , es un contenedor que contiene valores utilizados en un programa Java. En lugar de definir un valor una y otra vez, se puede definir una variable que tenga un valor asociado. Dado que las variables deben recibir un valor inicial inicial, puede ver cómo funciona en los ejemplos de esta página.
Vectores unidimensionales
:
Array unidimensionales estáticos (Vector estáticos) Un vector estático es una estructura de datos que permite almacenar un CONJUNTO de datos del mismo tipo. Con un único nombre se define un vector y por medio de un subíndice hacemos referencia a cada elemento del mismo (componente).
Vectores bidimensionales: La dimensión de un arreglo es el tamaño del arreglo, y define la forma de organizar los datos. Un arreglo puede ser unidimensional (tener sólo una dimensión), bidimensional (dos dimensiones) y tridimensional (tres dimensiones). Para más sobre los arreglos unidimensionales, puedes leer aquí. La organización lógica de los datos en un arreglo nos permite utilizarlos de forma muy diversa. En realidad, Java no pone restricciones en cuanto al número de dimensiones que puede tener un arreglo, pero para los programadores es más compleja su manipulación a mayor número de dimensiones.
El significado de java, tal y como se le conoce en la actualidad, es el lenguaje de programación y un entorno de ejecución de programas escritos en java. Al contrario de los compiladores tradicionales , que convierten el código fuente en instrucciones a nivel de máquina, el compilador java traduce el código fuente java en instrucciones que son interpretadas por la máquina virtual de java (JVM, Java Virtual Machine). A diferencia de C y C++ en los que está inspirado. Java es un lenguaje interpretado. Aunque hoy en día java es por excelencia el lenguaje de programación para Internet y la World Wide Web en particular, java no comenzó como proyecto Internet y por las circunstancias es idóneo para las tareas de programación de propósito general y, de hecho muchas de la herramienta java están escritas en java.
Qué es Java? Java es un lenguaje de programación relativamente fácil de aprender y para el que vas a contar con muchos recursos proporcionados por una comunidad que no ha parado de crecer en sus 25 años de historia.
Un arreglo se define como una colección finita, homogénea y ordenada de elementos como se ha definido antes pero se caracteriza por ser unidimensional porque tiene una solo dimensión como se muestra a continuación.
El espacio bidimensional es un módulo geométrico de la proyección plana y física del universo donde vivimos. Tiene dos dimensiones, es decir que cuenta con ancho y largo, pero no con profundidad (que solo se utiliza en la tridimensionalidad). Los planos son bidimensionales, y solo pueden contener cuerpos unidimensionales o bidimensionales.
Un array se caracteriza por:
- Almacenar los elementos del array en posiciones de memoria contínua - Tener un único nombre de variable que representa a todos los elementos, y éstos a su vez se diferencian por un índice o subíndice. - Acceso directo o aleatorio a los elementos individuales del array.
todos los arrays son de tamaño variable, tanto si se especifica como no un tamaño al ser declarados
Java
Javascript
Go
Kotlin
Python
Lenguaje C / C++
Scala
Ruby
Swift
Dart
Asistentes digitales con voz, la nueva compañía: Si los fabricantes logran desarrollar interfaces de
usuario de voz con capacidades avanzadas de reconocimiento y transferencia de emociones, las empresas podrán utilizarlas para aumentar la satisfacción del cliente. Al mismo tiempo, los sistemas neuronales de reproducción del habla y del texto, no permitirán determinar si quien nos está hablando es una persona o un programa entrenado para imitar las emociones humanas.
Inteligencia Artificial (IA), el año de su madurez en los negocios: La inteligencia artificial se aplicará a una amplia
gama de información, incluyendo vídeo, imágenes, voz, actividad de tráfico de red y datos de sensores. Se estima que al menos 25.000 millones de cosas estarán conectadas para el 2021. Se espera para el próximo año se que las tecnologías de IA crezcan exponencialmente y se incluyan en casi todos los productos y servicios tecnológicos.
Internet de las cosas (IoT), tu casa conectada: Él internet de las cosas es un término del que escuchamos hablar constantemente desde hace algún tiempo y representa la forma en la que cosas cotidianas que se conectan a Internet y actúan en sinergia logrando ser un todo integrado. Se trata de una red que interconecta objetos físicos mediante hardware especializados que le permite no solo la conectividad al Internet, sino que además programa eventos específicos en función de las tareas que le sean dictadas remotamente.
Arrays unidimensionales en Java Concepto de Array o Arreglo: Un array es una colección finita de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Por ejemplo, supongamos que queremos guardar las notas de los 20 alumnos de una clase. Para almacenar las notas utilizaremos un array de 20 elementos de tipo double y en cada elemento del array guardaremos la nota de cada alumno Podemos representar gráficamente el array de notas de la siguiente forma: Array notas: · · 3.75 6.00 7.40 · · notas[0] notas[1] notas[2] notas[3] · notas[17] notas[18] notas[19] · Para acceder a cada elemento del array se utiliza el nombre del array y un índice que indica la posición que ocupa el elemento dentro del array. El índice se escribe entre corchetes. El primer elemento del array ocupa la posición 0, el segundo la posición 1, etc. En un array de N elementos el último ocupará la posición N-1. En el ejemplo anterior, notas[0] contiene la nota del primer alumno y notas[19] contiene la del último Los índices deben ser enteros no negativos. CREAR ARRAYS UNIDIMENSIONALES 8.50
. -
6.35
5.75
8.50
Para crear un array se deben realizar dos operaciones: Declaración Instanciación Declarar de un array En la declaración se crea la referencia al array. La referencia será el nombre con el que manejaremos el array en el programa. Se debe indicar el nombre del array y el tipo de datos que contendrá. De forma general un array unidimensional se puede declarar en java de cualquiera de estas dos formas:
tipo [] nombreArray; tipo nombreArray[]; tipo: indica el tipo de datos que contendrá. Un array puede contener elementos de tipo básico o referencias a objetos. nombreArray: es la referencia al array. Es el nombre que se usará en el programa para manejarlo. Por ejemplo: int [] ventas; //array de datos de tipo int llamado ventas double [] temperaturas; //array de datos de tipo double llamado temperaturas String [] nombres; //array de datos de tipo String llamado nombres Instanciar un array Mediante la instanciación se reserva un bloque de memoria para almacenar todos los elementos del array. La dirección donde comienza el bloque de memoria donde se almacenará el array se asigna al nombre del array. De forma general: nombreArray = new tipo[tamaño]; nombreArray: es el nombre creado en la declaración. tipo: indica el tipo de datos que contiene. tamaño: es el número de elementos del array. Debe ser una expresión entera positiva. El tamaño del array no se puede modificar durante la ejecución del programa. new: operador para crear objetos. Mediante new se asigna la memoria necesaria para ubicar el objeto. Java implementa los arrays como objetos. Por ejemplo: ventas = new int[5]; //se reserva memoria para 5 enteros y //se asigna la dirección de inicio del array a ventas. Lo normal es que la declaración y la instanciación se hagan en una sola instrucción: tipo [] nombreArray = new tipo[tamaño]; Por ejemplo: int [] ventas = new int[5]; El tamaño del array también se puede indicar durante la ejecución del programa, es decir, en tiempo de ejecución se puede pedir por teclado el tamaño del array y crearlo: Scanner sc = new Scanner(System.in); System.out.print("Número de elementos del array: "); int numeroElementos = sc.nextInt(); int [] ventas = new int[numeroElementos]; Si no hay memoria suficiente para crear el array, new lanza una excepción java.lang.OutOfMemoryError.
Diferencia entre la referencia y el contenido del array Debe quedar clara la diferencia entre la referencia (manejador del array o nombre del array) y el contenido del array. El nombre del array contiene la dirección de memoria del contenido del array.
Es muy común llamarles arreglos bidimensionales, arreglos 2d, o matrices, pero en realidad, se tratan de un arreglo de arreglos. Sólo que para su manipulación lógica, ha sido más conveniente pensar en ellos como una tabla de valores. (De ahí que decidí hacer uso, una vez más, del trabajo fotográfico de Carlos ZGZ para comparar la organización de un edificio de departamentos con los datos almacenados en un arreglo bidimensional). Declaración y construcción La declaración de un arreglo bidimensional en Java se muestra a continuación
Como puedes observar ahora tenemos dos dimensiones: el número de renglones y el número de filas del arreglo. Al igual que los arreglos unidimensionales, el proceso de declaración y construcción puede realizarse en una sola sentencia o en dos. En la figura 3 puedes ver la instrucción que crea una matriz.
Java proporciona un grupo de clases que almacenan secuencias de objetos de cualquier tipo, son las colecciones. Se diferencian en la forma de organizar los objetos y, en consecuencia, la manera de recuperarlos. La clase Vector (paquete java.util) es una de estas colecciones, tiene un comportamiento similar a un array unidimensional. Un Vector guarda objetos (referencias) de cualquier tipo y crece dinámicamente, sin necesidad de tener que programar operaciones adicionales. El array donde almacena los elementos es de tipo Object. Su declaración: protected Object elementData[] Crear un vector Para usar la clase Vector hemos de poner al principo del archivo del código fuente la siguiente sentencia import import java.util.*; Cuando creamos un vector u objeto de la clase Vector, podemos especificar su dimensión inicial, y cuanto crecerá si rebasamos dicha dimensión. Primer Constructor Vector vector=new Vector(20, 5); Tenemos un vector con una dimensión inicial de 20 elementos. Si rebasamos dicha dimensión y guardamos 21 elementos la dimensión del vector crece a 25. Al segundo constructor, solamente se le pasa la dimensión inicial. Vector vector=new Vector(20); Si se rebasa la dimensión inicial guardando 21 elementos, la dimensión del vector se duplica. El programador ha de tener cuidado con este constructor, ya que si se pretende guardar un número grande de elementos se tiene que especificar el incremento de la capacidad del vector, si no se quiere desperdiciar inútilmente la memoria el ordenador. Con el tercer constructor, se crea un vector cuya dimensión inicial es 10. Vector vector=new Vector(); La dimensión del vector se duplica si se rebasa la dimensión inicial, por ejemplo, cuando se pretende guardar once elementos. Acceso a los elementos de un vector
El acceso a los elementos de un vector no es tan sencillo como el acceso a los elementos de un array. En vez de dar un índice, usamos la función miembro elementAt. Por ejemplo, v.elementAt(4) sería equivalente a v[4], si v fuese un array. Para acceder a todos los elementos del vector, escribimos un código semejante al empleado para acceder a todos los elementos de un array. for(int i=0; i<v.size(); i++){ System.out.print(v.elementAt(i)+"\t"); }
Existe otra alternativa, que es la de usar las funciones del interface Enumeration. Este interface declara dos funciones pero no implementa ninguna de ellas. Una Enumeration nos permite acceder a los elementos de una estructura de datos de forma secuencial. Ejercicio Utilizar un vector para guardar indistintamente, números racionales y números complejos. Se supone que un número racional está representado por dos enteros, numerador y denominador respectivamente. Un número complejo también viene representado por dos enteros, parte real y parte imaginaria. Entonces, se declara la clase Numero con los atributos de tipo entero x, y; las clases Racional y Complejo derivan de Numero. Además, el método mostrar() se redefine en cada clase para escribir el tipo de número. La clase principal crea un vector al que se añaden números racionales y complejos alternativamente. A continuación se recuperan los elementos y se escriben. import java.util.*; import java.io.*; abstract class Numero { protected int x, y; public Numero() {;} public Numero(int _ x, int _ y) { x = _ x; y = _ y; } abstract void mostrar(); } class Racional extends Numero { public Racional() {;} public Racional(int _ x, int _ y) { super( _ x, _ y); }
void mostrar() { System.out.println(x + "/" + y); } } class Complejo extends Numero { public Complejo() {;} public Complejo(int _ x, int _ y) { super( _ x, _ y); } void mostrar() { System.out.println("(" + x + "," + y + ")"); } } public class VectorNumero { static final int N = 10; public static void main (String [] a) { Vector num = new Vector(); for(int i = 1; i <= N; i++) { Numero q; q = new Racional(3 * i, 3 * i % 7 + 1); num.addElement(q); q = new Complejo(3 * i % 7, 3 * i - 5); num.addElement(q); } // recuperación de los elementos int k; k = num.size(); // número de elementos for (int i = 1; i <= N; i++) { Numero q; q = (Numero) num.elementAt(i); q.mostrar(); } } }
Las principales características de un array son:
Tiene un nombre de variable único que representa a cada elemento dentro de él y estos elementos son diferenciados por un índice. Los elementos dentro del array son guardados en posiciones de memoria de forma continua. Se puede acceder a cada elemento individual del array de manera directa o aleatoria.
Arreglos unidimensionales
Un arreglo tiene la característica de que puede almacenar a N elementos del mismo tipo y además permite el acceso a cada uno de estos elementos. Se distinguen dos partes en los arreglos:
• Los componentes. Hacen referencia a los elementos que componen o forman el arreglo. Es decir, son los valores que se almacenan en cada una de sus casillas. • Los índices. Son los que permiten acceder a los componentes del arreglo en forma individual. Es decir, la posición dentro del arreglo.
Para hacer referencia a un componente de un arreglo se necesita:
• El nombre del arreglo • El índice del elemento
En la siguiente figura se presenta el ejemplo de un arreglo y se indican sus componentes y sus índices.
Bidimencionales
Este tipo de arreglos al igual que los Unidimensionales es un tipo de dato estructurado, finito ordenado y homo por medio de un par de índices. CARACTERÍSTICAS
Es un vector de vectores.
Un arreglo bidimensional se denomina también tabla o matriz.
Los arreglos bidimensionales se referencian con dos subíndices. -El primero se refiere a la fila. -El segundo se refiere a la columna.
Los arreglos bidimensionales se usan para representar datos que pueden verse como una tabla con filas y colum columnas, cada elemento contiene un valor y cada dimensión representa una relación. La representación en memoria se realiza de dos formas: almacenamiento por columnas o por renglones.
CARACTERISTICAS Un array se caracteriza por: - Almacenar los elementos del array en posiciones de memoria contínua - Tener un único nombre de variable que representa a todos los elementos, y éstos a su vez se diferencian por un índice o subíndice. - Acceso directo o aleatorio a los elementos individuales del array.
todos los arrays son de tamaño variable, tanto si se especifica como un tamaño al ser declarados
Para ver el contenido de los arrays según van siendo ejecutadas las líneas de código que los declaran, utilizaremos la ventana Locales del depurador, que muestra las variables de ámbito local al procedimiento que estamos ejecutando actualmente
Los arrays se crean con el operador new seguido del tipo y número de elementos.
Se puede acceder al número de elementos de un arraycon la variable miembro implícita length (por ejemplo, vect.length).
Se accede a los elementos de un array con los corchetes [] y un índice que varía de 0 a length-1.
1. VENTAJAS 1. Algunas de las ventajas de los arreglos unidimensionales son: 1. - son mas seguras y claros. - Menos problemas en cuanto a los datos validos sean elininados por error o a que existan datos no validos en el arreglo. Ocupan menos recursos del ordenador. 2. El acceso a los arreglos es directo, nos permiten hacer un conjunto de operaciones para manipular los datos guardados en ellos, estas operaciones son: ordenar, buscar, insertar, eliminar, modificar entre otras. 2. DESVENTAJAS 1. Los datos que se guarden en los arreglos todos deben ser del mismo tipo. Para implementar arreglos unidimensionales se debe reservar espacio en memoria. Limitan en cuanto a capacidad de maniobra 3. Ventajas y desventajas de arreglo bidimensionales
Algunas de las ventajas de la programación orientada a objetos son los siguientes:
Los componentes se pueden reutilizar.
Facilidad de mantenimiento y modificación de los objetos existentes.
Una estructura modular clara se puede obtener, la cual no revelará el mecanismo detrás del diseño.
Se proporciona un buen marco que facilita la creación de rica interfaz gráfica de usuario aplicaciones (GUI).
Se acopla bien a la utilización de bases de datos, debido a la correspondencia entre las estructuras.
Limitaciones del programador: Es posible el programador desconozca algunas características del paradigma y de hecho siga utilizando el paradigma estructurado.
No hay una forma única de resolver los problemas. Esto puede llevar a que diferentes interpretaciones de la solución planteada emerjan.
Se requiere una documentación amplia para determinar la solución planteada.
Resuelve problemas que no se podrían realizar en una sola CPU Resuelve problemas que no se pueden resolver en un tiempo razonable Permite ejecutar problemas de un orden y complejidad mayor Permite ejecutar código de manera más rápida (aceleración) Permite ejecutar en general más problemas Obtención de resultados en menos tiempo Permite la ejecución de varias instrucciones en simultáneo Permite dividir una tarea en partes independientes Ofrece mejor balance entre rendimiento y costo que la computación secuencial Gran expansión y escalabilidad
Mayor consumo de energía Mayor dificultad a la hora de escribir programas Dificultad para lograr una buena sincronización y comunicación entre las tareas Retardos ocasionados por comunicación ente tareas Número de componentes usados es directamente proporcional a los fallos potenciales Altos costos por producción y mantenimiento Condiciones de carrera Múltiples procesos se encuentran en condición de carrera si el resultado de los mismos depende del orden de su llegada
Por ejemplo: ventas = new int[5]; //se reserva memoria para 5 enteros y //se asigna la dirección de inicio del array a ventas. Lo normal es que la declaración y la instanciación se hagan en una sola instrucción: tipo [] nombreArray = new tipo[tamaño]; Por ejemplo: int [] ventas = new int[5]; El tamaño del array también se puede indicar durante la ejecución del programa, es decir, en tiempo de ejecución se puede pedir por teclado el tamaño del array y crearlo: Scanner sc = new Scanner(System.in); System.out.print("Número de elementos del array: "); int numeroElementos = sc.nextInt(); int [] ventas = new int[numeroElementos]; Si no hay memoria suficiente para crear el array, new lanza una excepción java.lang.OutOfMemoryError. Diferencia entre la referencia y el contenido del array Debe quedar clara la diferencia entre la referencia (manejador del array o nombre del array) y el contenido del array. El nombre del array contiene la dirección de memoria del contenido del array.
Los arrays bidimensionales representan tablas de datos. Para declararlos, por ejemplo, basta con hacer: int matriz[][] = new int[3][3]; Donde el primer 3 representa la cantidad de filas y el segundo 3 la cantidad de columnas. Si queremos cargar el array bidimensional con valores podemos hacerlo a lo bruto: matriz[0][0] matriz[0][1] matriz[0][2] matriz[1][0] matriz[1][1] matriz[1][2] matriz[2][0] matriz[2][1] matriz[2][2]
= = = = = = = = =
2; 4; 4; 6; 6; 9; 8; 10; 12;
O bien podemos crear e instanciar el array bidimensional en una única línea: int [][] matriz = {{2,4,4},{6,6,9},{8,10,12}}; De igual manera, si nos apoyamos en el atributo lenght del array podremos listar el contenido del array bidimensional: for (int x=0; x < matriz.length; x++) { for (int y=0; y < matriz[x].length; y++) { System.out.println (matriz[x][y]); } }
Como podemos apreciar, matriz.length nos proporciona el número de filas (3), y matriz[i].lengt proporciona el número de elementos en cada fila.
Una clase se crea al usar la palabra clave . Aquí se muestra una forma general simplificada de una definición de clase: class NombreClase{ //Declarar variables de instancia tipo var1; tipo var2; //..
//Declarar métodos tipo metodo1(parámetros){ //Cuerpo del método } tipo metodo2(parámetros){ //Cuerpo del método } } En general, puede utilizar el operador punto para acceder a las variables de instancia y a los métodos. Aquí está un programa completo que utiliza la clase /* Un programa que usa la clase Vehiculo El archivo se llama DemoVehiculo.java */ class Vehiculo { int pasajeros; //números de pasajeros int capacidad; //capacidad del combustible en galones int mpg; //combustible consumido en millas por galon } //Esta clase declara un objeto de tipo Vehiculo class DemoVehiculo { public static void main(String[] args) { Vehiculo minivan = new Vehiculo(); int rango; //asignando valores a los campos de minivan minivan.pasajeros = 9; minivan.capacidad = 15; minivan.mpg = 20; //Calcular el rango asumiendo un tanque lleno rango = minivan.capacidad * minivan.mpg; System.out.println("La Minivan puede llevar " + minivan.pasajeros + " pasajeros con un rango de " + rango + " millas"); } }
1 Result solve (Problem problem) { 2 if problem.size < SEQUENTIAL_THRESHOLD 3 return solveSequentially(problem); 4 else { 5 Result left, right; 6 INVOKE-IN-PARALLEL { 7 left = solve(extractLeftHalf(problem)); 8 right = solve(extractRightHalf(problem));
9 } 10 return combine(left, right); 11 } 12 }
package ejerccicioscu00903c; public class EjercciciosCu00903c { public static void main(String[] args) { ListaDeNumero numero = new ListaDeNumero(); EntradaDeTeclado entrada = new EntradaDeTeclado(); int valor = 0; while (valor < 6) { System.out.println("Ingrese un numero: "); entrada.AgregarNumero(); numero.addNumero(entrada.getEntrada()); valor++; if (valor == 5) { numero.listarNumeros(); break; } } } }
Enlace para ver el código figura cruz array bidimensional asteriscos: 1. import java.util.Scanner; 2. 3. /*Llenar una matriz A[ ] [ ] de tipo Char de tamaño n x m, donde n y m 4. * son ingresados por el usuario y deben ser impares, de tal forma 5. * que al imprimir A [ ] [ ] se visualice por pantalla una cruz. 6. */ 7. 8. public class CruzArray { 9. 10. public static void main(String[] args) {
11. 12. Scanner teclado = new Scanner(System.in); 13. 14. boolean numeroCorrecto = false; 15. int n,m; 16. 17. do { 18. System.out.print("Ingrese cantidad filas (número impar): "); 19. n = teclado.nextInt(); 20. System.out.print("Ingrese cantidad columnas (número impar): "); 21. m = teclado.nextInt(); 22. 23. if(n % 2 != 0 && m % 2 != 0) { 24. numeroCorrecto = true; 25. }else { 26. System.out.println("Datos incorrectos. Ingrese dos valores impares"); 27. } 28. System.out.println(); 29. 30. }while(!numeroCorrecto); 31. 32. char matriz [][]= new char [n][m]; 33. 34. int mitadFilas = matriz.length / 2; 35. int mitadColumnas = matriz[0].length / 2; 36. 37. for (int i = 0; i < matriz.length; i++) { 38. for (int j = 0; j < matriz[0].length; j++) { 39. if(i == mitadFilas || j == mitadColumnas) { 40. matriz [i][j] = '*'; 41. }else { 42. matriz [i][j] = ' '; 43. } 44. System.out.print(matriz[i][j]+" "); 45. } 46. System.out.println(); 47. } 48. }
49.
}
package base; public class Persona { String nombre; public int edad; public Persona() { nombre = "Pepe"; edad = 18; } public void setNombre(String nombre) { this.nombre = nombre; } public String getNombre() { return nombre; } public int getEdad() { return edad; } }
Cuando programamos usando vectores, podemos decir que nos encontramos con vectores paralelos cuando hay una relación entre los componentes del mismo subíndice o posición de un vector y otro. Si tenemos un vector en el que almacenaremos nombres de empleados y otro en el que almacenamos sueldos, los datos en estos vectores están relacionado subíndice a subíndice. Ejemplo: Nombres[i]: Sueldos[i]: Jose 5040 Maria 7675 Juan 9000 Veamos lo que ocurre en el siguiente ejercicio:
"Desarrollar un programa que permita cargar una cierta cantidad de empleados con sus nombres y sus respectivos sueldos. (La cantidad de empleados debe ser ingresada por el usuario). Luego de cargar los datos por el teclado imprimir los empleados con sueldo mayor o igual a 5000 y el monto total que se debe pagar de nomina." import java.util.Scanner; public class Empleado { private Scanner entradaTec; private int cantidad = 1; private String[] nombres; private float[] sueldos; private float nomina = 0; public void CargarDatos() { entradaTec = new Scanner(System.in); System.out.println("Ingrese la cantidad de empleados"); cantidad = entradaTec.nextInt(); nombres = new String[cantidad]; sueldos = new float[cantidad]; for(int i = 0; i < cantidad; i ++){ System.out.println("Ingrese el nombre del empleado"); nombres[i] = entradaTec.next(); System.out.println("Ingrese el sueldo del empleado"); sueldos[i] = entradaTec.nextFloat(); nomina = nomina + sueldos[i]; } } public void ImprimirInfo(){ System.out.println("Empleados con sueldo mayor o igual a 5000:"); System.out.println("Nombre Sueldo"); for(int i = 0; i < cantidad; i ++){ if(sueldos[i] >= 5000){ System.out.println(nombres[i] + " " + sueldos[i]); } } System.out.println("El monto de nomina es de: " + nomina); } public static void main(String[] ar){ Empleado emp; emp = new Empleado(); emp.CargarDatos(); emp.ImprimirInfo(); } }