- Vector (Tamaño de un vector)


Como hemos visto cuando se crea un vector indicamos entre corchetes su tamaño:

  sueldos=new int[5];

Luego cuando tenemos que recorrer dicho vector disponemos una estructura repetitiva for:

    for(int f=0;f<5;f++) {
        System.out.print("Ingrese valor de la componente:");
        sueldos[f]=teclado.nextInt();
    }	

Como vemos el for se repite mientras el contador f vale menos de 5. Este estructura repetitiva es idéntica cada vez que recorremos el vector.
Que pasa ahora si cambiamos el tamaño del vector cuando lo creamos:

  sueldos=new int[7];

Con esto tenemos que cambiar todos los for que recorren dicho vector. Ahora veremos que un vector al ser un objeto tiene un atributo llamado length que almacena su tamaño. Luego podemos modificar todos los for con la siguiente sintaxis:

    for(int f=0;f<sueldos.length;f++) {
        System.out.print("Ingrese valor de la componente:");
        sueldos[f]=teclado.nextInt();
    }	

También podemos pedir al usuario que indique el tamaño del vector en tiempo de ejecución, en estos casos se hace imprescindible el empleo del atributo length.

Problema 1:

Se desea almacenar los sueldos de operarios. Cuando se ejecuta el programa se debe pedir la cantidad de sueldos a ingresar. Luego crear un vector con dicho tamaño.

Programa:

import java.util.Scanner;
public class PruebaVector8 {
    private Scanner teclado;
    private int[] sueldos;
	
    public void cargar()
    {
        teclado=new Scanner(System.in);
        System.out.print("Cuantos sueldos cargará:");
        int cant;
        cant=teclado.nextInt();
        sueldos=new int[cant];
        for(int f=0;f<sueldos.length;f++) {
            System.out.print("Ingrese sueldo:");
            sueldos[f]=teclado.nextInt();
        }	
    }
	
    public void imprimir() {
        for(int f=0;f<sueldos.length;f++) {
            System.out.println(sueldos[f]);
        }
    }
	
    public static void main(String[] ar) {
        PruebaVector8 pv=new PruebaVector8();
        pv.cargar();
        pv.imprimir();
    }
}

La definición del vector no varía:

    private int[] sueldos;

Luego para la creación del mismo ingresamos una variable entera y la utilizamos como subíndice en el momento de la creación del vector:

        System.out.print("Cuantos sueldos cargará:");
        int cant;
        cant=teclado.nextInt();
        sueldos=new int[cant];

Luego las estructuras repetitivas las acotamos accediendo al atributo length del vector:

        for(int f=0;f<sueldos.length;f++) {
            System.out.print("Ingrese sueldo:");
            sueldos[f]=teclado.nextInt();
        }	

Problemas propuestos

  1. Desarrollar un programa que permita ingresar un vector de n elementos, ingresar n por teclado. Luego imprimir la suma de todos sus elementos
Solución
import java.util.Scanner;
public class PruebaVector9 {
    private Scanner teclado;
    private int[] vec;
    
    public void cargar() {
        teclado=new Scanner(System.in);
        System.out.print("Cuantos elementos tiene el vector:");
        int n;
        n=teclado.nextInt();
        vec=new int[n];        
        for(int f=0;f<vec.length;f++) {
            System.out.print("Ingrese elemento:");
            vec[f]=teclado.nextInt();
        }
    }
    
    public void acumularElementos() {
        int suma=0;
        for(int f=0;f<vec.length;f++) {
            suma=suma+vec[f];
        }
        System.out.println("La suma de los elementos es:"+suma);
    }
    
    public static void main(String[] ar) {
        PruebaVector9 pv=new PruebaVector9();
        pv.cargar();
        pv.acumularElementos();
    }
}

Retornar