Java - ejercicio para programar una clase que permita representar una colección acotada de valores enteros

 
Vista:

ejercicio para programar una clase que permita representar una colección acotada de valores enteros

Publicado por liliana (2 intervenciones) el 07/08/2018 20:32:38
Se desea programar una clase que permita representar una colección acotada de valores enteros. Para almacenar los valores de la colección, la clase utilizará como único atributo un arreglo de acuerdo con la siguiente declaración:

1
2
3
4
5
public class ColeccionEnteros
{
private int [] arreglo;
...
}

El método constructor de la clase deberá recibir como parámetro el tamaño que deberá tener
el arreglo. Dentro del método, se deberá crear el arreglo con esa cantidad de celdas y
posteriormente se deberán cargar las mismas con valores generados al azar.
Además del método constructor, la clase deberá proveer los siguientes métodos:

desplegarColeccion ( ). Este método deberá desplegar en pantalla todos los valores almacenados en el arreglo.

existeValor (int valor). Este método deberá determinar si el valor recibido como parámetro forma parte del arreglo o no.

maximoValor ( ). Este método deberá devolver el máximo valor almacenado en el arreglo.

desplegarPosicionesMultiplo (int num). Este método deberá desplegar en pantalla todos los valores del arreglo almacenados en celdas cuyo índice sea múltiplo de num.

promedioValores ( ). Este método deberá calcular el promedio de todos los valores almacenados en el arreglo.

invertir ( ). Este método deberá invertir los valores almacenados en el arreglo. Es decir, el valor de la primer celda deberá intercambiarse con el valor de la última celda. El valor de la segunda celda deberá intercambiarse con el valor de la penúltima celda, y así sucesivamente.

duplicarCeldasMultiplo (int valor). Este método deberá duplicar el valor de cada celda del arreglo que contenga un elemento que sea múltiplo del valor recibido como parámetro.

hayRepetidos ( ). Este método deberá determinar si el arreglo posee al menos un valor repetido en más de una celda o no.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 26
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

ejercicio para programar una clase que permita representar una colección acotada de valores enteros

Publicado por Antonio (32 intervenciones) el 13/08/2018 15:04:45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
public class ColeccionEnteros {
    private int [] arreglo;
    public ColeccionEnteros(int numero){
        arreglo = new int[numero];
        Random rand = new Random();
        int dato=0;
        for(int i=0;i<arreglo.length;i++){
            //Numero random de 0 a 100
           dato = rand.nextInt(101);
           arreglo[i]=dato;
        }
 
    }
    public void desplegarColeccion ( ){
        for(int i=0;i<arreglo.length;i++){
            System.out.print(arreglo[i]+", ");
        }
        System.out.println();
    }
    public boolean existeValor (int valor){
        boolean existe = false;
        for(int i=0;i<arreglo.length;i++){
            if(arreglo[i]==valor)
                existe = true;
        }
        return existe;
    }
    public int maximoValor ( ){
        int maximo=0;
        for(int i=0;i<arreglo.length;i++){
            if(arreglo[i]>maximo){
                maximo = arreglo[i];
            }
        }
        return maximo;
    }
    public void desplegarPosicionesMultiplo (int num) {
        for(int i=0;i<arreglo.length;i++){
            if(arreglo[i]%num==0)
            System.out.println(arreglo[i]);
        }
    }
    public double promedioValores ( ){
        int numero=0;
        for(int i=0;i<arreglo.length;i++){
            numero+=arreglo[i];
        }
        return numero/arreglo.length;
 
    }
     public void invertir ( ){
        int j=0;
        for(int i=arreglo.length-1;i>0;i--){
            arreglo[j]=arreglo[i];
            j++;
        }
    }
     public void duplicarCeldasMultiplo (int valor){
          for(int i=0;i<arreglo.length;i++){
            if(arreglo[i]%valor==0)
            arreglo[i]=arreglo[i]*2;
        }
     }
     public boolean hayRepetidos ( ){
         boolean repetido = false;
         for(int i=0;i<arreglo.length;i++){
            for(int j=0;j<arreglo.length;j++){
                if(arreglo[i]==arreglo[j])
                    repetido=true;
            }
         }
         return repetido;
     }
    public static void main(String[] args){
        ColeccionEnteros coleccion = new ColeccionEnteros(20);
        coleccion.desplegarColeccion();
        //true que existe, false que no
        System.out.println(coleccion.existeValor(20));
        System.out.println(coleccion.maximoValor());
        coleccion.desplegarPosicionesMultiplo(20);
        System.out.println(coleccion.promedioValores());
        coleccion.invertir();
        coleccion.desplegarColeccion();
        coleccion.duplicarCeldasMultiplo(20);
        coleccion.desplegarColeccion();
        //True que hay valores repetido false que no
        System.out.println(coleccion.hayRepetidos());
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar