Ejercicio02.java 4.32 KB
Newer Older
Cristhian Ortellado committed
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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
import java.io.*;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;

public class Ejercicio02 {
    LinkedList<Integer> listaPositivos = new LinkedList<Integer>();
    LinkedList<Integer> listaNegativos = new LinkedList<Integer>();

    // recorremos la lista comprobando si son positivos o negativos y generamos
    // ambas

    public void generarListas(LinkedList<Integer> lista) {
        for (int var : lista) {
            if (var > 0) {
                listaPositivos.add(var);
            } else if (var < 0) {
                listaNegativos.add(var);
            }
        }
    }

    // probamos si son divisibles por los valores menores a el
    public boolean esPrimo(int var) {
        for (int i = 2; i < var; i++) {
            if (var % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static Integer minimo(LinkedList<Integer> lista) {
        Integer min = Integer.MAX_VALUE;
        for (int a : lista) {
            if (a < min) {
                min = a;
            }
        }
        return min;
    }

    public static Integer maximo(LinkedList<Integer> lista) {
        Integer max = Integer.MIN_VALUE;
        for (int a : lista) {
            if (a > max) {
                max = a;
            }
        }
        return max;
    }

    public static void ordenarLista(LinkedList<Integer> lista) {
        Integer[] aux = new Integer[lista.size()];
        int indice = 0;
        for (int a : lista) {
            aux[indice] = a;
            indice++;
        }
        lista.clear();
        ordenar_vector(aux);
        for (int i = 0; i < aux.length; i++) {
            lista.add(aux[i]);
        }
    }

    private static void ordenar_vector(Integer[] vec) {
        Integer auxiliar;
        for (int i = 0; i < vec.length; i++) {
            for (int k = i + 1; k < vec.length; k++) {
                if (vec[i] > vec[k]) {
                    auxiliar = vec[i];
                    vec[i] = vec[k];
                    vec[k] = auxiliar;
                }
            }
        }
    }

    public static void main(String[] args) {
        LinkedList<Integer> lista = new LinkedList<Integer>();
        Ejercicio02 ejercicio02 = new Ejercicio02();

        // generamos la lista con valor inicial 0
        lista.add(0);
        System.out.println("Ingrese los valores");
        int res = 1;
        Scanner in = new Scanner(System.in);
        while (res == 1) {
            System.out.println("Ingrese los valores");
            int val = in.nextInt();
            if (val > 0) {
                lista.add(val);
            } else if (val < 0) {
                lista.addFirst(val);
            }
            System.out.println("Desea seguir ingresando valores? 1- SI 2-NO");
            res = in.nextInt();
        }
        // la lista impresa
        System.out.println("Impresion de la lista");

        for (int var : lista) {
            System.out.println(var);
        }
        System.out.println("\n");
        ejercicio02.generarListas(lista);
        // la lista de positivos
        System.out.println("Impresion de la lista de positivos");

        for (int var : ejercicio02.listaPositivos) {
            System.out.println(var);
        }
        System.out.println("\n");

        // la lista de negativos
        System.out.println("Impresion de la lista de negativos");

        for (int var : ejercicio02.listaNegativos) {
            System.out.println(var);
        }
        System.out.println("Hallando los valores max y min de cada lista.");
        System.out.println("Lista Positivos:");
        System.out.println("Maximo: "+maximo(ejercicio02.listaPositivos)+"\t"+"Minimo: "+minimo(ejercicio02.listaPositivos));
        System.out.println("Lista Negativos:");
        System.out.println("Maximo: "+maximo(ejercicio02.listaNegativos)+"\t"+"Minimo: "+minimo(ejercicio02.listaNegativos));
        System.out.println("Ordenando las Listas");
        ordenarLista(ejercicio02.listaNegativos);
        ordenarLista(ejercicio02.listaPositivos);
        System.out.println("Imprimiendo las listas:");
        System.out.println("Lista Positivos:");
        for(int var : ejercicio02.listaPositivos) System.out.println(var);
        
        System.out.println("Lista Negativos:");
        for (int var : ejercicio02.listaNegativos) System.out.println(var);
    }

}