Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Practico1;
- import Practico1.Helper;
- import Practico1.HelperArray;
- import java.util.Scanner;
- public class Ejercicio1 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- menu();
- }
- @SuppressWarnings("static-access")
- public static void menu() {
- Helper op = new Helper();
- int opcion;
- Character seguir;
- do {
- int dimen = op.getPositiveInt("Ingrese tamaño de los arreglos");
- System.out.println("1 - Ingresar valores");
- System.out.println("2 - Generar valores aleatorios ");
- opcion = op.getInteger("Ingrese una opcion");
- double media;
- int[] arrayComp = new int[dimen];
- int[] arrayDef = new int[dimen];
- int arrayDifer[] = new int[dimen];
- switch (opcion) {
- case 1:
- System.out.println("Cargar Arreglo de Numeros Compuestos");
- arrayComp = cargarCompuestos(arrayComp);
- System.out.println("Cargar Arreglo de Numeros Deficentes");
- arrayDef = cargarDeficientes(arrayDef);
- arrayDifer= arregloDiferencia(arrayComp, arrayDef, arrayDifer );
- op.mostrarArrayUnaDimension("Arreglo de compuestos generados", arrayComp, "");
- op.mostrarArrayUnaDimension("Arreglo de deficientes generados", arrayDef, "");
- op.mostrarArrayUnaDimension("El arreglo diferencia entre Compuesto y Deficiente", arrayDifer, "");
- media = mediaDifer(arrayDifer);
- mayorMedia(arrayComp, media);
- System.out.println();
- menorMedia(arrayDef, media);
- System.out.println();
- espera();
- break;
- case 2:
- arrayComp=generarCompuesto(arrayComp);
- arrayDef=generarDeficiente(arrayDef);
- arrayDifer= arregloDiferencia(arrayComp, arrayDef, arrayDifer );
- op.mostrarArrayUnaDimension("Arreglo de compuestos generados", arrayComp, "");
- op.mostrarArrayUnaDimension("Arreglo de deficientes generados", arrayDef, "");
- op.mostrarArrayUnaDimension("El arreglo diferencia entre Compuesto y Deficiente", arrayDifer, "");
- media = mediaDifer(arrayDifer);
- mayorMedia(arrayComp, media);
- System.out.println();
- menorMedia(arrayDef, media);
- System.out.println();
- espera();
- break;
- default:
- System.out.println("Opcion No Valida ");
- }
- seguir = op.getCharacter("Desea ingrear otro arreglo??(s/n)");
- }while(!seguir.equals('n'));
- System.out.println("Gracias :D");
- }
- public static int[] arregloDiferencia(int[] arrayComp, int[] arrayDef, int[] arrayDifer) {
- for (int i = 0; i < arrayDifer.length; i++) {
- int resta = arrayComp[i] - arrayDef[i];
- arrayDifer[i] = resta;
- }return arrayDifer;
- }
- public static int[] cargarCompuestos(int[] arrayComp) {
- int i = 0, numero;
- while(i<arrayComp.length) {
- numero = Helper.getPositiveInt("Ingresar valor positivo");
- if(compuesto(numero)) {
- arrayComp[i]=numero;
- i++;
- }else {
- System.out.println("Numero no valido, intentar de nuevo");
- }
- }return arrayComp;
- }
- public static int[] cargarDeficientes(int[] arrayDef) {
- int i = 0, numero;
- while(i<arrayDef.length) {
- numero = Helper.getPositiveInt("Ingresar valor positivo");
- if(deficiente(numero)) {
- arrayDef[i]=numero;
- i++;
- }else {
- System.out.println("Numero no valido, intentar de nuevo");
- }
- }return arrayDef;
- }
- public static int[] generarCompuesto(int[] arrayComp) {
- Helper randy=new Helper();
- int i = 0, numero;
- while (i < arrayComp.length) {
- numero = randy.ramdomInt(100);
- if (compuesto(numero)) {
- arrayComp[i]=numero;
- i++;
- }
- }
- return arrayComp;
- }
- public static int[] generarDeficiente(int[] arrayDef) {
- Helper randy=new Helper();
- int i = 0, numero;
- while (i < arrayDef.length) {
- numero = randy.ramdomInt(100);
- if (deficiente(numero)) {
- arrayDef[i]=numero;
- i++;
- }
- }return arrayDef;
- }
- public static double mediaDifer(int[] arrayDifer) {
- double media = 0.0;
- for (int i = 0; i < arrayDifer.length; i++) {
- media = media + arrayDifer[i];
- }
- media = media/2;
- return media;
- }
- public static void mayorMedia(int[] arrayComp, double media) {
- System.out.println("La media de la diferencia es: " + media);
- System.out.println("Los valores mayores de la media son:");
- for (Integer i:arrayComp) {
- if(media < i) {
- System.out.print("["+ i +"]");
- }
- }
- }
- public static void menorMedia(int[] arrayDef, double media) {
- System.out.println("Los valores menores de la media son:");
- for (Integer i:arrayDef) {
- if(i < media) {
- System.out.print("[" + i + "]");
- }
- }
- }
- public static Boolean deficiente(int numero) {
- int suma = 0, cont = 1;
- while (cont <= numero) {
- if (numero % cont == 0) {
- suma += cont;
- return true;
- }cont++;
- }return false;
- }
- public static Boolean compuesto(int numero) {
- int contador=2;
- while (contador < numero) {
- if (numero % contador == 0)
- return true;
- contador++;
- }return false;
- }
- @SuppressWarnings("resource")
- public static void espera (){ //Este modulo detiene el proceso hasta que el ususario precione "enter"
- Scanner waitForKeypress = new Scanner(System.in);
- System.out.print("Presiona la tecla Enter para continuar....");
- waitForKeypress.nextLine();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment