Advertisement
Cabana_Mario_Ariel_F

TP01E1_Beta

Sep 13th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.30 KB | None | 0 0
  1.  
  2. import java.util.Scanner;
  3. import java.util.Random;
  4. public class Tp01E01 {
  5. //----------Variables para toda la clase Tp01E3----------//    
  6.     public static Scanner entrada = new Scanner(System.in);
  7.     public static int i,j;
  8.     public static String respuesta;
  9. //-------------------Principal - main--------------------//    
  10.     public static void main(String[] args) {
  11.         int dimencion, mediaA, mediaB, mediaC;
  12.         System.out.println("Vectores A , B, C\n==================");
  13.         dimencion=validarDato("dimención de los vectores: ");
  14.         int vectorA[]=new int [dimencion];
  15.         int vectorB[]=new int [dimencion];
  16.         int vectorC[]=new int [dimencion];
  17.         procesoCargar(vectorA,vectorB);
  18.         CargarVector3(vectorA,vectorB,vectorC);
  19.         MostrarTodosVectores(vectorA,vectorB,vectorC);
  20.         mediaA=CalcularMedia(vectorA);
  21.         mediaB=CalcularMedia(vectorB);
  22.         mediaC=CalcularMedia(vectorC);
  23.         mostrarMedias(mediaA,mediaB,mediaC);
  24.         menorMayorqueMedia(vectorC,mediaA,mediaB);
  25.     }
  26. //----------Vector - Definir y Validar Entradas----------//
  27.     public static int validarDato(String mensaje) {//Proceso de validación a un número entero.
  28.         int dato;
  29.         do {
  30.             System.out.println("Ingrese la "+ mensaje);
  31.             dato=validarValor(entrada.nextLine());
  32.         }while(dato==0);
  33.         return dato;
  34.     }
  35.    
  36.     public static int validarValor(String entrada){//Módulo tipo exception, dedicado a reconocer un valor numérico correcto.
  37.         int posible;
  38.         try {
  39.              posible=Integer.parseInt(entrada);
  40.         } catch (NumberFormatException nfe) {
  41.             posible=0;
  42.         } // fin catch.
  43.         if (posible>0) {
  44.             return posible;
  45.         }else {
  46.             System.out.println("ERROR, debe ingresar un entero positivo");
  47.             return 0;
  48.         }
  49.     }
  50. //--------------------Vector - Cargar--------------------//
  51.     public static void procesoCargar(int[] v1,int[] v2) {//Procedimiento para llenar los vectores principales.
  52.         boolean vectorprimo;
  53.         System.out.println("\nProceso cargar Vectores\n------------------------\nCargar vector A");
  54.         vectorprimo=true;
  55.         comoCargar(v1,"A",vectorprimo);
  56.         System.out.println("Cargar vector B");
  57.         vectorprimo=false;
  58.         comoCargar(v2,"B",vectorprimo);
  59.     }
  60.     public static void comoCargar(int[] v,String aob,boolean esVectorA) {//Permite elejir si llena un vector por usuario o automaticamente.
  61.         System.out.println("¿Desea generar valores en el vector "+ aob +" automaticamente?(SI/NO)");
  62.         respuesta=entrada.nextLine().toUpperCase();
  63.         if (respuesta.equals("SI")){
  64.             if (esVectorA) {
  65.                 cargarRandomA(v);
  66.             }else {
  67.                 cargarRandomB(v);
  68.             }
  69.         }else {
  70.             System.out.println("Ingrese números para el vector "+ aob +":");
  71.             if (esVectorA) {   
  72.                 cargarIndividualA(v);
  73.             }else {
  74.                 cargarIndividualB(v);
  75.             }
  76.            
  77.         }
  78.     }
  79. //-----------------Vector - Tipo de Carga-----------------//
  80.     public static void cargarRandomA(int[] v) {//Llena el vector A con valores aleatorios.
  81.         Random rnd=new Random();
  82.         int valorA;
  83.         for (i=0;i<v.length;i++) {
  84.             valorA=CalculaPrimo(rnd.nextInt(1000));
  85.             if(valorA!=0) {
  86.                 v[i]=valorA;    
  87.             }
  88.             else {
  89.                 i--;
  90.             }
  91.         }
  92.     }
  93.     public static void cargarRandomB(int[] v) {//Llena el vector B con valores aleatorios.
  94.         Random rnd=new Random();
  95.         int valorB;
  96.         for (i=0;i<v.length;i++) {
  97.             valorB=CalculaDivisor(rnd.nextInt(1000));
  98.             if(valorB!=0) {
  99.                 v[i]=valorB;    
  100.             }
  101.             else {
  102.                 i--;
  103.             }
  104.         }
  105.     }
  106.     public static void cargarIndividualA(int[] v) {//Llena el vector A por el usuario.
  107.         int valorA;
  108.         for (i=0;i<v.length;i++) {
  109.             valorA=CalculaPrimo(validarDato("posición A("+(i+1)+"):"));
  110.             if(valorA!=0) {
  111.                 v[i]=valorA;    
  112.             }
  113.             else {
  114.                 System.out.println("Numero no primo");
  115.                 i--;
  116.             }
  117.         }
  118.     }
  119.     public static void cargarIndividualB(int[] v) {//Llena el vector B por el usuario.
  120.         int valorB;
  121.         for (i=0;i<v.length;i++) {
  122.             valorB=CalculaDivisor(validarDato("posición B("+(i+1)+"):"));
  123.             if(valorB!=0) {
  124.                 v[i]=valorB;    
  125.             }
  126.             else {
  127.                 System.out.println("Número no divisor de 1000");
  128.                 i--;
  129.             }
  130.         }
  131.     }  
  132.     public static int CalculaPrimo(int posiblePrimo) {//Calcula si un número es primo a traves de sus divisores.
  133.          int divisores=0;
  134.          for(j=1;j<=posiblePrimo;j++) {
  135.              if(posiblePrimo%j==0)
  136.                  divisores++;
  137.          }
  138.          if(divisores==2)
  139.              return posiblePrimo;
  140.          else
  141.              return 0;
  142.     }
  143.     public static int CalculaDivisor(int num) {//Calcula si un numero es divisor de 1000.
  144.         if(1000%num==0)
  145.             return num;
  146.         else
  147.             return 0;
  148.     }
  149.     public static void CargarVector3(int[] v1,int[] v2,int[] v3) {//carga el vector SUma.
  150.         for(i=0;i<v3.length;i++) {
  151.             v3[i]=v1[i]+v2[i];
  152.         }
  153.     }
  154. //--------------------Vector - Mostrar-------------------//
  155.     public static void MostrarVector(int[] v,String abc){//Muestra solo un vector
  156.         System.out.print("El Vector "+ abc +" es : {");
  157.         for(int numero:v) {
  158.             System.out.print("|"+numero+"| ");
  159.         }
  160.         System.out.println("}\n");
  161.     }
  162.     public static void MostrarTodosVectores(int[] v1,int[] v2,int[] v3) {//Muestra todos lo vec.
  163.         System.out.println("\nMostrar Vectores\n-----------------");
  164.         MostrarVector(v1,"A");
  165.         MostrarVector(v2,"B");
  166.         MostrarVector(v3,"C");
  167.     }
  168. //---------Media - Calcular , Mostrar y Adicional--------//    
  169.     public static int CalcularMedia(int[] v) {//Calcula promedio entero de un vect.
  170.         int acumulador=0;
  171.         for(i=0;i<v.length;i++) {
  172.             acumulador+=v[i];
  173.         }
  174.         return acumulador/v.length;
  175.     }
  176.     public static void mostrarMedias(int mA,int mB,int mC) {//Muestra Todo med.
  177.         System.out.println("Mostrar la media de cada Vector\n--------------------------------");
  178.         System.out.println("La media del vector A es : "+ mA);
  179.         System.out.println("La media del vector B es : "+ mB);
  180.         System.out.println("La media del vector C es : "+ mC);
  181.     }
  182.     public static void menorMayorqueMedia(int[] v3,int mA,int mB) {//Procedimiento para adicionales.
  183.         System.out.print("\nAdicionales\n------------");
  184.         MenorMedia(v3, mA);
  185.         MayorMedia(v3, mB);
  186.     }
  187.     public static void MenorMedia(int[] v3,int media) {//Obtienen valor menores que la media.
  188.         System.out.print("\nLos valores del vector C menores a la media del vector A son : { ");
  189.         for(i=0;i<v3.length;i++) {
  190.             if(v3[i]<media) {
  191.                 System.out.print("|"+v3[i]+"| ");
  192.             }
  193.         }
  194.         System.out.print("}");
  195.     }
  196.     public static void MayorMedia(int[] v3,int media) {//Obtienen valor mayores que la media.
  197.         System.out.print("\nLos valores del vector C mayores a la media del vector B son : { ");
  198.         for(i=0;i<v3.length;i++) {
  199.             if(v3[i]>media) {
  200.                 System.out.print("|"+v3[i]+"| ");
  201.             }
  202.         }
  203.         System.out.print("}");
  204.     }
  205. }
  206.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement