Ejercicios Resueltos de Programación en Java: Vectores, Divisores, Cadenas y Varianza
Problemas de Programación en Java
A continuación se presentan los ejercicios correspondientes a los apartados A) y B), con sus respectivas soluciones en código Java.
B)
Problema 1b: Cálculo de la media y de los jugadores más altos
import java.util.*;
public class problema1b
{
public static void main()
{
Scanner sc=new Scanner(System.in);
int[] vector=new int[10];
int i,suma=0;
double media;
System.out.println("Deme las diez alturas: ");
for(i=0;i<vector.length;i++)
vector[i]=sc.nextInt();
for(i=0;i<vector.length;i++)
suma=suma+vector[i];
media=suma*1.0/vector.length;
int cont=0;
for(i=0;i<vector.length;i++)
if (vector[i]>=media)
cont++;
System.out.print("la media es de "+media+" y hay "+cont+" jugadores más altos");
}
}Problema 2b: Contador de divisores en un intervalo
import java.util.*;
public class problema2b
{
static void main (){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce n: ");
int n=sc.nextInt();
System.out.print("Introduce a: ");
int a=sc.nextInt();
int rdo=divisores(n,a);
System.out.print("Hay "+rdo+" divisores de "+n+" entre 2 y "+a+".");
}
static int divisores(int n, int a)
{
int i,cont=0;
for(i=2;i<=a;i++)
if (n%i==0)
cont++;
return cont;
}
}Problema 3b: Combinación alternada de dos cadenas
import java.util.*;
public class problema3b
{
static void main (){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce un string: ");
String cadena1=sc.nextLine();
System.out.print("Introduce un string: ");
String cadena2=sc.nextLine();
int i;
System.out.print("El resultado es: ");
for(i=0;i<cadena1.length();i++)
if (i%2==0)
System.out.print(cadena1.charAt(i));
else
System.out.print(cadena2.charAt(i));
}
}A)
Problema 1: Cálculo de la varianza
import java.util.*;
public class problema1
{
public static void main()
{
Scanner sc=new Scanner(System.in);
double[] v=new double[10];
int i;
System.out.println("Deme 10 numeros reales: ");
for(i=0;i<v.length;i++)
v[i]=sc.nextDouble();
double suma=0,media;
for(i=0;i<v.length;i++)
suma=suma+v[i];
media=suma/v.length;
double sumavar=0,rdo;
sumavar=0;
for(i=0;i<v.length;i++)
sumavar=sumavar+Math.pow(v[i]-media,2);
rdo=sumavar/v.length;
System.out.print("La varianza es de: "+rdo);
}
}Problema 2a: Contador de múltiplos de un número
import java.util.*;
public class problema2a
{
static void main (){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce n: ");
int n=sc.nextInt();
System.out.print("Introduce a: ");
int a=sc.nextInt();
int rdo=multiplos(n,a);
System.out.print("Hay "+rdo+" múltiplos de "+a+" entre 1 y "+n+".");
}
static int multiplos(int n, int a)
{
int i,cont=0;
for(i=1;i<=n;i++)
if (i%a==0)
cont++;
return cont;
}
}Problema 3a: Contador de la subcadena "la"
import java.util.*;
public class problema3a
{
static void main (){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce un string: ");
String cadena=sc.nextLine();
int cont=0,i;
for(i=0;i<cadena.length()-1;i++)
if (cadena.charAt(i)=='l' && cadena.charAt(i+1)=='a')
cont++;
System.out.print("la cadena 'la' aparece "+cont+" veces");
}
}