0% encontró este documento útil (0 votos)
134 vistas18 páginas

Ejercicios en Java-2022 - 2

El documento presenta 9 problemas/ejercicios de programación en Java resueltos. Los problemas incluyen crear funciones para determinar si una cadena es subcadena de otra, contar palabras en una cadena, comparar arreglos, encontrar el número mayor en un arreglo, calcular el promedio de posiciones impares, ordenar filas de una matriz, determinar si un número es primo o mostrar sus múltiplos, crear una clase Factura que herede de Precio, y ampliar métodos estáticos de la clase Math.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
0% encontró este documento útil (0 votos)
134 vistas18 páginas

Ejercicios en Java-2022 - 2

El documento presenta 9 problemas/ejercicios de programación en Java resueltos. Los problemas incluyen crear funciones para determinar si una cadena es subcadena de otra, contar palabras en una cadena, comparar arreglos, encontrar el número mayor en un arreglo, calcular el promedio de posiciones impares, ordenar filas de una matriz, determinar si un número es primo o mostrar sus múltiplos, crear una clase Factura que herede de Precio, y ampliar métodos estáticos de la clase Math.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 18

Ronald Rodríguez.

2-21-0505.
1-Crea un programa que determine si una cadena es sub-
cadena de otra cadena. Si la cadena de menor tamaño es
una sub-cadena, entonces la función retorna 1, sino 0.
package com.mycompany.cadena;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Cadena {

public static void main(String[] args) {


System.out.println("ingrese la primera cadena");
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));

try {
String s1 = br.readLine();
System.out.println("ingrese la segunda cadena");
String s2 = br.readLine();

boolean result = isSubStr(s1, s2);


if (result == true)
System.out.println("La segunda cadena es una
subcadena de la primera cadena.");
else
System.out.println("La segunda cadena no es una
subcadena de la primera cadena.");

} catch (IOException e) {
System.out.println("excepcion : " + e);
}

}
public static boolean isSubStr(String st1, String s2) {

boolean result = false;

String tem_str = "";


int len1 = st1.length();
int i = 0;
int j;

while (i < len1) {


j = i+1;
while (j <=len1) {
tem_str = st1.substring(i, j);
if (tem_str.equalsIgnoreCase(s2))
{ result = true;
break;
}
j++;
}

i++;
}
return result;

}
}
2-Crea un programa que cuente cuantas palabras tiene
una cadena. La cadena puede estar separada por
espacios, puntos y punto y coma.

package com.mycompany.contarpalabras;

import java.util.Scanner;

public class Contarpalabras {

static Scanner sn = new Scanner(System.in);

public static int cuentaPalabras(String frase) {


int cont = 1, pos;
int cont2 = 0;
if (frase.isEmpty()) {
System.out.println("No se ha introducido nada");
cont = 0;
}
for (int i = 0; i < frase.length(); i++) {
if(frase.charAt(i)==' '&&frase.charAt(i+1)==' '){
cont2++;
}
if (frase.charAt(i) == ' ') {
cont++;
}
}

return cont-cont2;
}

public static void main(String[] args) {

System.out.println("Introduce una cadena");


String frase = sn.nextLine().trim();

System.out.println("Numero de palabras: " +


cuentaPalabras(frase));

}}
3-Crea un programa que determine si dos arreglos contienen
los mismos elementos. Consisten que los arreglos pueden
estar desordenados. Los arreglos pueden ser de cualquier
tamaño.
package com.mycompany.compaarre;

public class Compaarre {

public static void main(String[] args) {


int [] a = {10,20,50,5,6,44,100,8,100};
int [] b = {50,44,100,20,80,12};
CompararArreglos3 comparar = new
CompararArreglos3();

comparar.Comparar(a,b);

public void Comparar(int [] x, int [] y){

System.out.println("Los numeros iguales en ambos


Arreglos son ");

for(int a: x){
for(int b : y ){
if(a == b){
System.out.print("["+a+"]");
}
}
}

}
}
4-hacer un programa que, utilizando un método, reciba
un arreglo de números reales y entregue el número
mayor.
package com.mycompany.may;
public class May {

public static void main(String[] args) {

int array[]=new int[6];

for(int i=0;i<6;i++){ array[i]=(int)


(Math.random()*100);

}
mostrarArreglo(array);
System.out.println("El numero mayor del arreglo es:
"+numMayor(array));
}
public static int numMayor(int[] array){
int mayor;
mayor=array[0];
for(int i=1;i<6;i++){
if(array[i]>mayor){
mayor=array[i];
}
}
return mayor;
}
public static void mostrarArreglo(int[] array){
for(int i=0;i<6;i++){
System.out.println(array[i]);
}

}
}

5-Hacer un programa que, utilizando un método, reciba


un arreglo de números enteros y calcule el promedio
de los que estén en posiciones impares.
package com.mycompany.cinco;

import java.util.Scanner;

public class Cinco {

public static void main(String[] args) {


int size,numpares=0;
float numeimpares = 0;
Scanner scan=new Scanner(System.in);
System.out.print("Digite el numero de elementos: ");
size=scan.nextInt();
int arr[]=new int[size];
System.out.print("Digite los numeros : ");
int i=0;
while(i<6){
arr[i]=scan.nextInt();
i++;
}
i=0;
while(i<6){ if(arr[i]
%2==0){
numpares=numpares+arr[i];

}
else{
numeimpares=numeimpares+arr[i];
} i+
+;
}

System.out.println("\nel promedio de las posiciones


impares es: "+numeimpares/5);

}
}

6-Crea un programa que permita al usuario ingresar


caracteres en una matriz 4x4. Luego envía la matriz en un
método que imprima dicha matriz y luego imprímela
completa, pero con la primera y última fila ordenada
alfabéticamente.
package com.mycompany.mtzim;

import java.util.Scanner;

public class Mtzim {

private Scanner teclado;


private int[][] mat;

public void cargar() {


teclado=new Scanner(System.in);
System.out.print("Cuantas fila tiene la matriz:");
int filas=teclado.nextInt();
System.out.print("Cuantas columnas tiene la matriz:");
int
columnas=teclado.nextInt();
mat=new int[filas][columnas];
for(int f=0;f<mat.length;f++) {
for(int c=0;c<mat[f].length;c++) {
System.out.print("Ingrese componente:"); mat[f]
[c]=teclado.nextInt();
}
}
}

public void imprimir() {


for(int f=0;f<mat.length;f++) {
for(int c=0;c<mat[f].length;c++)
{ System.out.print(mat[f][c]+" ");
}
System.out.println();
}
}

public void imprimirUltimaFila() {


System.out.println("Ultima fila");
for(int c=0;c<mat[mat.length-1].length;c++)
{ System.out.print(mat[mat.length-1][c]+"
");
}
}

public static void main(String[] ar) {


Matriz5 ma=new Matriz5();
ma.cargar();
ma.imprimir();
ma.imprimirUltimaFila();
}

}
7-Crea un programa que solicite números naturales hasta que
el usuario desee terminar. Por cada número introducido se
deberá visualizar: a través de métodos:

a) Si el número es primo: su factorial.


b) Y si el número no es primo: sus múltiplos menores
que 100.
package com.mycompany.naturales;

import java.util.Scanner;

public class Naturales {

public static void main(String[] args) {


int n=0,opc=0,aux=0,aux2=0,primos=0;
Scanner leer = new Scanner(System.in);
do{
do{
System.out.print("Digite numero: ");
do{
aux=0;
try{
n = leer.nextInt();
}
catch(Exception e){
System.out.println("ERROR");
aux=1;
}
}while(aux==1);
if(n<=0)
System.out.println("El numero no es natural ");
}while(n<=0);
int primo=0;
for(int cont=1; cont<=n; cont++){ if(n
%cont==0) primo++;
}
if(primo<=2){
primos = factorial(n);
System.out.println("EL factorial de "+n+"
es
:"+primos);
}
else{
multiplos(n);
}
do{
do{
aux2=0;

System.out.println("\nDecea continuar \n1-Si


\n2-No");
try{
opc = leer.nextInt();
}
catch(Exception e){
System.out.println("ERROR");
aux2=1;
}
}while(aux2==1);
}while(opc!=1 && opc!=2);

}while(opc!=2);
}

public static int factorial(int n){


int res=n*(n-1);
for(int c=n-2; c>=1; c--)
{ res*=c;
}
return res;
}

public static void multiplos(int n){


for(int c=1 ; c<1000; c++){
if(n%c==0)
System.out.print(c+"");
}
}
}

8- Construir una clase Factura que descienda de la


clase Precio y que incluya dos atributos
específicos llamados emisor y cliente y, al menos,
un método llamado imprimirFactura.

public class Precio{


public double euros;
public double da() {
return euros; }
public void pone(double x) {
euros=x;
}
}

public class Factura extends Precio {


public int cliente;
private final String emisor = "Colmado checo";

public void imprimirFactura () {


System.out.println("");
System.out.println("Emisor: " + emisor);
System.out.println("-----------------------");
System.out.println("Cliente: " + cliente);
System.out.println("Total: " + euros + " euros");
}
}
public class PruebaFactura {

public static void main (String [] args) {


Factura f = new Factura();
f.cliente = 12345;
f.pone(1000);
f.imprimirFactura();
}
}

9- Construir una clase final Math2 que amplíe las


declaraciones de métodos estáticos de la clase Math
y que incluya funciones que devuelvan,
respectivamente, el máximo, el mínimo, el sumatorio,
la media aritmética y la media geométrica de un array
de números reales dado como parámetro.

public final class Math2 {


public static double min (double [] v) {
double menor = v[0];
for (int i=0; i<v.length; i++) {
if (menor>v[i]) { menor=v[i];
}
}
return menor;
}
public static double max (double [] v) {
double mayor = v[0];
for (int i=0; i<v.length; i++) {
if (mayor<v[i]) { mayor=v[i];
}
}
return mayor;
}
public static double sum (double [] v) {
double sumatorio =0.0;
for (int i=0; i<v.length; i++) {
sumatorio=sumatorio+v[i];
}
return sumatorio;
}
public static double mediaAritmetica (double [] v) { double
sumatorio =0.0;
for (int i=0; i<v.length; i++) {
sumatorio+=v[i];
}
return (sumatorio/v.length);
}
public static double mediaGeometrica (double [] v) {
double producto =1.0;
for (int i=0; i<v.length; i++) {
producto*=v[i];
}
return Math.sqrt(producto);
}
}

public class PruebaMath2 {


public static void main (String [] args) {
double [] x = new double[10];
for (int i=0; i<x.length; i++) {
x[i] = 5*Math.random();
System.out.println("x["+i+"] = "+x[i]);
}
System.out.println("Minimo : " + Math2.min(x));
System.out.println("Maximo : " + Math2.max(x));
System.out.println("Sumatorio : " + Math2.sum(x));
System.out.println("Media arit. : " +
Math2.mediaAritmetica(x)); System.out.println("Media
geom. : " + Math2.mediaGeometrica(x));
}
}
10- Se desea simular el comportamiento que tendrían
los diferentes integrantes de la selección
ecuatoriana de futbol; tanto los Futbolistas como
el cuerpo técnico (Entrenadores, Masajistas, etc…).

public abstract class SeleccionFutbol {

protected int id;


protected String nombre;
protected String apellidos;
protected int edad;

public void viajar() { System.out.println("Viajar


(Clase Padre)");
}

public void concentrarse() {


System.out.println("Concentrarse (Clase Padre)");
}

public abstract void entrenamiento(); public

void partidoFutbol() {
System.out.println("Asiste al Partido de Fútbol
(Clase Padre)");
}

String getNombre() {
throw new UnsupportedOperationException("Not
supported yet.");
}

String getApellidos() {
throw new UnsupportedOperationException("Not
supported yet.");
}
}

public class Entrenador extends SeleccionFutbol {

private int idFederacion;

Entrenador(int i, String vicente, String del_Bosque, int i0, int


i1) {
throw new UnsupportedOperationException("Not
supported yet.");
}

@Override
public void entrenamiento() { System.out.println("Dirige
un entrenamiento (Clase
Entrenador)");
}

@Override
public void partidoFutbol() {
System.out.println("Dirige un Partido (Clase
Entrenador)");
}

public void planificarEntrenamiento() {


System.out.println("Planificar un Entrenamiento");
}
}

public class Masajista extends SeleccionFutbol {

private String titulacion;


private int aniosExperiencia;

Masajista(int i, String raúl, String martinez, int i0, String


licenciado_en_Fisioterapia, int i1) {
throw new UnsupportedOperationException("Not supported
yet.");
}

@Override
public void entrenamiento() {
System.out.println("Da asistencia en el entrenamiento
(Clase Masajista)");
}

public void darMasaje() {


System.out.println("Da un Masaje");
}
}

import java.util.ArrayList;

public class Main {


public static ArrayList<SeleccionFutbol> integrantes =
new ArrayList<>();

public static void main(String[] args) {

SeleccionFutbol delBosque = new Entrenador(1, "Vicente", "Del


Bosque", 60, 28489);
SeleccionFutbol iniesta = new Futbolista(2, "Andres", "Iniesta",
29, 6, "Interior Derecho");
SeleccionFutbol raulMartinez = new Masajista(3, "Raúl",
"Martinez", 41, "Licenciado en Fisioterapia", 18);

integrantes.add(delBosque);
integrantes.add(iniesta);
integrantes.add(raulMartinez);
System.out.println("Todos los integrantes
comienzan una concentracion. (Todos ejecutan el mismo
método)");
integrantes.stream().map((integrante) -> {
System.out.print(integrante.getNombre() + " " +
integrante.getApellidos() + " -> ");
return integrante;
}).forEachOrdered((integrante) -> {
integrante.concentrarse();
});
System.out.println("nTodos los integrantes viajan
para jugar un partido. (Todos ejecutan el mismo
método)");
integrantes.stream().map((integrante) -> {
System.out.print(integrante.getNombre() + " " +
integrante.getApellidos() + " -> ");
return integrante;
}).forEachOrdered((integrante) -> {
integrante.viajar();
});

System.out.println("nEntrenamiento: Todos los


integrantes tienen su función en un entrenamiento
(Especialización)");
integrantes.stream().map((integrante) -> {
System.out.print(integrante.getNombre() + " " +
integrante.getApellidos() + " -> ");
return integrante;
}).forEachOrdered((integrante) -> {
integrante.entrenamiento();
});
System.out.println("nPartido de Fútbol: Todos los
integrantes tienen su función en un partido
(Especialización)");
integrantes.stream().map((integrante) -> {
System.out.print(integrante.getNombre() + " " +
integrante.getApellidos() + " -> ");
return integrante;
}).forEachOrdered((integrante) -> {
integrante.partidoFutbol();
});

}}

También podría gustarte