Está en la página 1de 39

PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

CRISTIAN CAMILO MARTINEZ CARDENAS CODIGO: 1921026585

POLITECNICO GRAN COLOMBIANO

Módulo Programación de Computadores

Nombre de la entrega Desarrollo y solución de problemas

Nivel académico Tecnólogo y profesional

Tipo de entrega Taller de ejercicios

PARTE 1 DEL TRABAJO:

a. Hora a segundos :. Escriba un método que reciba tres enteros correspondientes a la hora actual
(horas, minutos y segundos), y retorne el número de segundos que han transcurrido desde la
medianoche. Use el formato de 24 horas.
b. Escriba un programa que pida al usuario los valores de horas, minutos y segundos, y muestre
en pantalla el valor retornado por el método del literal a.

import java.util.Scanner;
public class Ejercicio1 {

public String CalcularTiempo(int tsegundos)


{
int horas = (tsegundos / 3600);
int minutos = ((tsegundos-horas*3600)/60);
int segundos = tsegundos-(horas*3600+minutos*60);
return horas + ":" + minutos+ ":" + segundos;

public static void main(String[] args) {

System.out.print("A continuación deberá introducir una hora del día, ");


System.out.println("primero introducirá la hora y luego los minutos.");

Scanner hora1 = new Scanner(System.in);


Scanner minuto1 = new Scanner(System.in);
int hora = hora1.nextInt();
int minuto = minuto1.nextInt();

if((hora>=24) || (minuto>60) ){
System.out.println("Error, por favor ingrese valor valido");
}else {
if((hora<0) || (minuto<0)) {
System.out.println("Error, por favor ingrese valor positivo");
}else {
System.out.println("Desde las " + hora + ":" + minuto + " hasta la medianoche
faltan " + (segundoshastamedianoche(hora,minuto) -
segundostranscurridos(hora,minuto)) + " segundos.");
}
}

}
static int segundostranscurridos (int hora,int minuto) {
int segundosTrabscurridos = (hora * 3600) + (minuto * 60);
return segundosTrabscurridos;
}
static int segundoshastamedianoche (int hora,int minuto) {
int segundosHastaMedianoche = (24 * 3600);
return segundosHastaMedianoche;
}
}
2. Conversión de medidas de longitud Escriba un programa que pida al usuario una longitud en
metros y muestre en pantalla las conversiones de dicha cantidad a centímetros, milímetros, pies,
pulgadas, yardas, años luz y angstroms. Use métodos adecuadamente.

mport java.util.Scanner;
public class medidasdelongitud {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
System.out.println("Ingrese medida de longitud en metros:");

float a = entrada.nextFloat();
float centimetros = 100;
float milimetros = 1000;
double pies = 3.28084;
double pulgadas = 39.3701;
double yardas = 1.09361;
double añosluz = 0.0000000010570;
double angstroms = 10E9;

if(a < 0) {
System.out.println("ingrese valor positivo");
}else {

System.out.println("Longitud en centimetros: " + metrosacentimetros(a,centimetros)


+ " centimetros");
System.out.println("Longitud en milimetros: " + metrosamilimetros(a, milimetros)
+ " milimetros");
System.out.println("Longitud en pies " + metrosapies(a,pies) + " pies");
System.out.println("Longitud en pulgadas " + metrosapulgadas(a, pulgadas) + "
pulgadas");
System.out.println("Longitud en yardas " + metrosayardas(a, yardas) + " yardas");
System.out.println("Longitud en años luz " + metrosaañosluz(a, añosluz) + "
años luz");
System.out.println("Longitud en angstroms " + metrosaangstroms(a, angstroms) +
" angstroms");

}
static float metrosacentimetros (float a,float centimetros) {
float metroscentimetros = a * centimetros;
return metroscentimetros;
}
static float metrosamilimetros (float a,float milimetros) {
float metrosmilimetros = a * milimetros;
return metrosmilimetros;
}
static double metrosapies (float a,double pies) {
double metrospies = a * pies;
return metrospies;
}
static double metrosapulgadas (float a,double pies) {
double metrospulpagas = a * pies;
return metrospulpagas;
}
static double metrosayardas (float a,double yardas) {
double metrosyardas = a * yardas;
return metrosyardas;
}
static double metrosaañosluz (float a,double añosluz) {
double metrosañosluz = a * añosluz;
return metrosañosluz;
}
static double metrosaangstroms (float a,double angstroms) {
double metrosaangstroms = a * angstroms;
return metrosaangstroms;
}
}

3. Temperatura Escriba un programa que pida al usuario una cantidad correspondiente a una
temperatura en grados centígrados y muestre en pantalla las conversiones de dicha cantidad a
grados Fahrenheit, Kelvin y Rankine. Use métodos adecuadamente.
import java.util.Scanner;
public class temperatura {
public static void main(String[] args) {

System.out.println("Ingrese la cantidad de grados centigrados a convertir:");

Scanner sc = new Scanner(System.in);

double c =sc.nextDouble();

System.out.println(c + " grados centigrados son equivalente a " + rankie(c) + "


grados Rankine");
System.out.println(c + " grados centigrados son equivalente a " + fahrenheit(c)
+ " grados farenheit");
System.out.println(c + " grados centigrados son equivalente a " +
kelvin(c)+ " grados kelvin");
}
static double rankie (double c) {
double r = 9/5.0 * c + 491.67;
return r;
}
static double fahrenheit (double c) {
double f = 9/5.0 * c + 32;
return f;
}
static double kelvin (double c) {
double k= c + 273.15;
return k;
}
}

4. Ofertas Escriba un programa que pida al usuario los valores de A, B, C y D, y muestre en pantalla
la solución del siguiente problema:

Bélen desea comprar tres camisetas. En una tienda, cada camiseta tiene un costo de A pesos y por
comprar tres dan un descuento de D% sobre el valor total de la compra. En otra tienda, cada camiseta
tiene un costo de B pesos y tienen una oferta de lleve tres camisetas y pague dos. En otra tienda, cada
camiseta tiene un costo de C pesos y no ofrecen ningún tipo de oferta. ¿Cuál es el menor valor que puede
pagar Bélen por las tres camisetas?
import java.util.Scanner;
public class oferta {

public static void main(String[] args)


{ Scanner entrada =new Scanner(System.in);
System.out.println("Ingrese valor A,B,C Y D");
System.out.println("los cuales corresponden a el valor de la primera tienda, segunda
tienda, tercera tienda y el descuento ofrecido por la primera tienda");
System.out.println("respectivamente");
int a = entrada.nextInt();
int b = entrada.nextInt();
int c = entrada.nextInt();
int d = entrada.nextInt();
int valortienda1 = a * 3;
int valortienda2 = b * 2;
int valortienda3 = c * 3;
int valortienda1descuento = valortienda1 - (valortienda1 * d/100);

if((a<0) || (b<0) || (c<0) || (d<0)){


System.out.println("error, por favor ingrese valores positivos");
}else {
if((valortienda1descuento < valortienda2) && (valortienda1descuento <valortienda3)) {

System.out.println("el menor valor que Belen debe pagar es: " +


valortienda1descuento);

}else {
System.out.println("el menor valor que Belen debe pagar es: " +
Math.min(valortienda2, valortienda3));

}
}

5. Cuaderno Escriba un programa que pida al usuario los valores de A y B, y muestre en pantalla
la solución del siguiente problema:

A María se le acaba de ocurrir una pregunta muy interesante sobre su cuaderno: ¿Cuántos cuadritos hay
en cada página? María, que es muy inteligente, sabe que no es necesario contar todos los cuadros; en
cambio, usa su regla para realizar las siguientes mediciones: » Cada página del cuaderno mide A
centímetros de largo por B de ancho.

» El margen de cada página es de 1 centímetro arriba, 1 centímetro abajo, medio centímetro a la


izquierda y medio centímetro a la derecha.

» Cada cuadro de la cuadrícula mide medio centímetro por medio centímetro.

» ¿Cuántos cuadritos hay en cada página del cuaderno de María?

6. Ascii art :Escriba un método que muestre en pantalla un dibujo en arte ASCII de su elección. Cree
también el método main que invoca al método anterior.
ENTREGA 2

Ejercicios Para cada uno de los siguientes problemas, escriba un programa en el lenguaje java que lo
resuelva usando instrucciones condicionales:

1. Valor absoluto Dado un número real, calcular su valor absoluto.

static double valabsoluto (int x){

if (x < 0)
{ return -x;
}

else {
return x;

}
2. Par o impar Dado un número entero, decidir si es o no par.

static double parimpar (int x){

if (x % 2 == 0) {
return System.out.println(“Es par”);

}
else {

return System.out.println(“Es impar”);

}
}

3. Tipo de triángulo Dadas las longitudes de los lados de un triángulo, determinar si el triángulo
es equilátero, isósceles o escaleno.

static double angtriangulos (int a, int b, int c){

static double triangulos (int a, int b, int c){

if (a == b){
if (b==c){
return System.out.println(“Es un triángulo equilátero”);
}else{

return System.out.println(“Es un triángulo isósceles ”);


}
} else {

if (a==c) {
return System.out.println(“Es un triángulo isósceles”);

}else{

if (b==c){
return System.out.println(“Es un triángulo isósceles”);

} else {
return System.out.println(“Es un triángulo escaleno”);

}
}

4. Juego de dardos Un tablero de dardos está compuesto por cinco aros concéntricos.
static double dardos (int x, int y){

double dist = Math.sqrt((x-0)*(x-0)+(y-0)*(y-0));

if (dist < 1){

return System.out.println(“15 puntos”);


}else{
if (1 < dist && dist <= 2) {

return System.out.println(“9 puntos”);


}else{
if (2 < dist && dist <= 3){
return System.out.println(“5 puntos”);
}else{

if (3 < dist && dist <= 4){


return System.out.println(“2 puntos”);
}else{
if(4 < dist && dist <=5){

return System.out.println(“1 punto”);

}else{
return System.out.println(“0 puntos, cayó fuera del tablero.”);

}
6. Encuentro en la universidad Ana va a la universidad cada A días, Bernardo cada B días, y Carlos cada
C días. Si todos van a la universidad hoy, ¿dentro de cuántos días irán nuevamente los tres?

package Entrega;

import java.util.Scanner;

public class Ana {

public static void main(String[] args) {


Scanner teclado = new Scanner(System.in);
int num1,num2,mcm,i;
System.out.println("Ingrese primer numero:");
num1=teclado.nextInt();
System.out.println("Ingrese segundo numero:");
num2=teclado.nextInt();
mcm=1;
i=2;
while(i <= num1 || i <= num2)
{

if(num1%i==0 || num2%i==0)
{
mcm=mcm*i;

if(num1%i==0) num1=num1/i;
if(num2%i==0) num2=num2/i;

else
i=i+1;

}
System.out.println("El MCM es =" +mcm);

7. Primalidad Dado un número entero, decidir si es o no primo.

package Entrega;
public class NumerosPrimos {

}
public static boolean esPrimo(int numero){
int contador = 2;
boolean primo=true;
while ((primo) && (contador!=numero)){
if (numero % contador == 0)
primo =
false;
contador++;

}
return primo;

8. Conjetura de Goldbach La conjetura de Goldbach afirma que todo número natural par mayor que 2
puede expresarse como la suma de dos números primos. Dado un natural n, mayor que 2, calcular
dos números primos tales que su suma sea igual a n.
package Entrega;

import javax.swing.JOptionPane;

public class Goldbach {

private static Object Keyboard;

public static void main(String[] args) {

long numero;

do {

String title = "Probando la conjetura fuerte de Goldbach";

String message = "Ingrese un número entero par, mayor que 2


[fin=0]";

int messageType = JOptionPane.DEFAULT_OPTION;

String n = JOptionPane.showInputDialog(null, message, title,

messageType);

numero = Long.parseLong(n);
if(numero == 0) System.exit(0);

try {

String resultado = probar(numero);

if (!resultado.equals("")) {

message = "El número " + numero

+ " cumple la conjetura de Goldbach,"

+ "\nlos números primos asociados son:\n"

+ resultado;

messageType = JOptionPane.DEFAULT_OPTION;

} else {

message = "\n¡¡Felicitaciones!! con el número " + numero

+ " usted ha refutado la conjetura de


Goldbach\n";

messageType = JOptionPane.WARNING_MESSAGE;

JOptionPane
.showMessageDialog(null, message, title,
messageType);

} catch (Exception e) {

message = "\nError: Por favor, ingrese un número entero,


par y mayor que 2\n";

messageType = JOptionPane.ERROR_MESSAGE;

JOptionPane

.showMessageDialog(null, message, title,


messageType);

main(null);

} while (true);

public static String probar(long numero) throws Exception {

String retorno = "";

long medio = numero / 2;


if (numero <= 2 || numero % 2 != 0) throw new Exception();

for (int probando = 2; probando <= medio; ++probando) {

if (esPrimo(probando) && esPrimo(numero - probando)) {

retorno += probando + " - " + (numero - probando) + "\n";

return retorno;

private static boolean esPrimo(long n) {

for (int i = 2; i <= n / 2; ++i) {

if (n % i == 0) {

return false;

return true;
}

}
ENTREGA FINAL

Ejercicios Para cada uno de los siguientes problemas, escriba un programa en el lenguaje java que lo
resuelva:

1. Búsqueda en arreglo Dado un arreglo de enteros x y un entero n, encuentre una posición de x en


la que se encuentre n.

public class Busqueda {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner entrada = new
Scanner(System.in); int dim = 0, n = 0;
System.out.println("Ingrese una dimensión para el arreglo de enteros:
");
String dimension = entrada.nextLine();
dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim];

for (int i = 0; i < arreglo.length; i++) {


System.out.println("Ingrese un valor para la posición " +
i); String valor = entrada.nextLine();
arreglo[i] = Integer.parseInt(valor);

}
System.out.println("\n\nIngrese el número que desea buscar en el
arreglo: ");
String numero = entrada.nextLine();
n = Integer.parseInt(numero);
encontrarPosicion(arreglo, n);
}
public static void
encontrarPosicion( int[] x, int
n) { int ban =
0;

for (int i = 0; i < x.length; i++)


{ if (x[i] == n) {
System.out.println("La posisión es " + i);
ban = 1;

}
}

if (ban == 0) {

System.out.println("El número " + n + " no se encuentra en el


arreglo.
");
}

}
2. ¿Está ordenado? Dado un arreglo de enteros x, decida si x está ordenado o no de menor a mayor.

package Ordenado;

import java.util.Scanner;

public class Ordenado {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner entrada = new
Scanner(System.in); int dim = 0, n = 0;
System.out.println("Ingrese una dimensión para el arreglo de enteros:
");
String dimension = entrada.nextLine();
dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim];


for (int i = 0; i < arreglo.length; i++) {
System.out.println("Ingrese un valor para la posición " +
i); String valor = entrada.nextLine();
arreglo[i] = Integer.parseInt(valor);
}
if (ordenado(arreglo)) {

System.out.println("El arreglo está ordenado de menor a mayor.");


} else {

System.out.println("El arreglo NO está ordenado de menor a


mayor.");
}

}
public static boolean ordenado(int[] a) {
int ban = 0;
for (int i = 0; i < a.length-1; i++) {
if (a[i] > a[i+1]) {

ban = 1;
}

if (ban == 0) {
return
true;

} else {
return false;

}
}
3. ¿Cuántos diferentes? Dado un arreglo de enteros x, cuente el número de valores diferentes en x.

public class Diferentes {

public static void main(String[] args) {


// TODO Auto-generated method stub

Scanner entrada = new Scanner(System.in);


int dim = 0, n = 0;

System.out.println("Ingrese una dimensión para el arreglo de enteros:


");

String dimension = entrada.nextLine();


dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim]; for (int i = 0; i


< arreglo.length; i++) {
System.out.println("Ingrese un valor para la posición " + i);
String valor = entrada.nextLine();
arreglo[i] = Integer.parseInt(valor);

System.out.println("\nCantidad de números diferentes: " +


diferentes(arreglo));

//Validamos cuales de los numeros no esta repetidos son diferentes

//Recoremos el arreglo buscando los numeros repetidos que despues


separaremos de los que son diferentes y contar la diferencia de tamaños
public static int diferentes(int [] cadena) {

int total = cadena.length;


boolean bandera = false;
String resultado="";
int contar =-1;
for(int i=0;i< total; i++)
{ int c = cadena[i];
for(int j=i+1;j< total; j++)
{ int b = cadena[j];
if (b == c){
resultado += c + " ";
break;
}
}
}
int diferentes = 0;

String[] duplicados = resultado.split(" ");


diferentes = cadena.length - duplicados.length;
return diferentes;
}
}

4. Mediana Dado un arreglo de reales x, calcule su mediana.

public class Diferentes {

public static void main(String[] args) {


// TODO Auto-generated method stub

Scanner entrada = new Scanner(System.in);


int dim = 0, n = 0;

System.out.println("Ingrese una dimensión para el arreglo de enteros:


");

String dimension = entrada.nextLine();


dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim]; for (int i = 0; i


< arreglo.length; i++) {
System.out.println("Ingrese un valor para la posición " +
i); String valor = entrada.nextLine();

arreglo[i] = Integer.parseInt(valor);

}
System.out.println("\nCantidad de números diferentes: " +
diferentes(arreglo));
}

//Validamos cuales de los numeros no esta repetidos son diferentes


//Recoremos el arreglo buscando los numeros repetidos que despues
separaremos de los que son diferentes y contar la diferencia de tamaños
public static int diferentes(int [] cadena) {

int total = cadena.length;


boolean bandera = false;
String resultado="";
int contar =-1;

for(int i=0;i< total; i++)


{ int c = cadena[i];
for(int j=i+1;j< total; j++)
{ int b = cadena[j];
if (b == c){
resultado += c + " ";
break;
}

}
}

int diferentes = 0;

String[] duplicados = resultado.split(" ");


diferentes = cadena.length - duplicados.length;
return diferentes;
}

}
}
}

5. Palíndromo Un palíndromo es una cadena que se lee de igual manera de izquierda a derecha y de
derecha a izquierda. Ejemplos de palíndromos son “sometemos”, “reconocer”, “arenera”, “anilina”
y “radar”. Escriba un método que reciba como entrada una cadena y decida si es palíndromo o no.

package Palíndromo;

import java.util.Scanner;

public class Palíndromo {

public static void main(String[] args) {

// TODO Auto-generated method stub

boolean es_Palindrome = false;


Scanner entrada = new Scanner(System.in);
String palabra;
System.out.println("Introduzca una cadena. Le diremos si es un
palíndromo.");
palabra = entrada.nextLine();

es_Palindrome = EsPalindrome(palabra);
if(es_Palindrome){

System.out.println("\n"+palabra +" es una palabra Palíndromo");


}else{

System.out.println("\n"+palabra +" no es una palabra


Palíndromo");
}

6. Anagramas Una cadena S es anagrama de T si contiene los mismos símbolos en las mismas
cantidades. Por ejemplo, algunos anagramas de “amor” son “roma”, “omar”, “ramo” y “mora”; además,
“aroma” y “nora” no son anagramas de “amor”. Escriba un método que reciba como entrada dos
cadenas S y T, y determine si S es anagrama de T.

package Anagramas;
import java.util.Arrays;
import java.util.Scanner;

public class Anagramas {

public static void main(String[] args)


{

// TODO Auto-generated method stub

boolean esAnagrama = false;

Scanner entrada = new Scanner(System.in);


String palabra1, palabra2;

System.out.println("Introduzca la primera cadena. Le diremos si es un


anagrama.");

palabra1 = entrada.nextLine();

System.out.println("Introduzca la segunda cadena para la


comparacion.");
palabra2 = entrada.nextLine();

esAnagrama = anagrama(palabra1, palabra2);

if(esAnagrama){

System.out.println(palabra1+" es un anagrama de "+palabra2);

}else{
System.out.println(palabra1+" no es un anagrama "+palabra2);
}
}

//Ordenamos una cadena de caracteres en order alfabetico


public static String ordenar(String cadena) {
char[] caracteres =
cadena.toCharArray();
Arrays.sort(caracteres);
return new String(caracteres);

public static boolean anagrama(String s, String t) {


char[] caracteres1 = s.toCharArray();
char[] caracteres2 = t.toCharArray();

String cadena1 = ordenar(s);


String cadena2 = ordenar(t);

int totalCaracteres1 =
cadena1.length(); int totalCaracteres2 =
cadena2.length();

//Retornamos false si las palabras tienen tamaños diferentes ya que asi


no cumpliria la regla
if(totalCaracteres1 != totalCaracteres2)
return false;

// Regresar resultado de la comparación


return cadena1.equals(cadena2);
}

}
7. Contraseña segura Una contraseña se considera segura si su longitud es mayor o igual a 10, tiene al
menos una letra (A-Z, a-z), tiene al menos un dígito (0-9), y tiene al menos un símbolo diferente a letras
o dígitos. Escriba un programa que reciba como entrada una cadena y decida si ésta corresponde a una
contraseña segura.

package Contraseña;

import java.util.Scanner;
public class Contraseña
{

public static void main(String[] args) {

// TODO Auto-generated method stub

// Cadenas de posibles caracteres que contendrá la contraseña


generada

String alfabeto1 = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";


String alfabeto2 = "abcdefgehijlkmnñoprstuvwxyz";
String alfabeto3 = "1234567890";
String alfabeto4 = "@#!$€&[]()/*-.";

boolean esAnagrama = false;

Scanner entrada = new Scanner(System.in);


String palabra = "";
int validacion1, validacion2, validacion3, validacion4,
total; validacion5,

System.out.println("Introduzca una posible contraseña. Le diremos si


se considera segura.");
palabra = entrada.nextLine();

int totalCaracteres = palabra.length();

validacion1 = validar(palabra, alfabeto1);


validacion2 = validar(palabra, alfabeto2);
validacion3 = validar(palabra, alfabeto3);
validacion4 = validar(palabra, alfabeto4);
validacion5 = validarLongitud(palabra);

//Tenemos las 5 validaciones para que sea una contraseña segura


cada una retorna 1 cuando se cumple
total = validacion1 + validacion2 + validacion3 + validacion4 +
validacion5;

if(total == 5){

System.out.println("Es una contraseña segura ");


}else{

System.out.println("No es una contraseña segura ");


}

}
//Validamos si la contraseña es segura
public static int validar(String cadena, String alfabeto)
{ char[] caracteres = cadena.toCharArray();

int totalCaracteres = caracteres.length;


boolean bandera = false;
int contar = 0;

for(int i=0;i< totalCaracteres; i++){


//char c = caracteres[i];

String c = String.valueOf(caracteres[i]);
if (String.valueOf(alfabeto).contains(c))
{
contar++;
break;
}

return contar;

//Validamos si la longitud de la contraseña es segura


public static int validarLongitud(String cadena) {
char[] caracteres = cadena.toCharArray();
int totalCaracteres = caracteres.length;
int contar = 0;

if(totalCaracteres >= 10)


contar = 1;

return contar;
}
}

8. Zapatico cochinito Un grupo de hermanos se disponía a jugar fútbol cuando su mamá les ordenó
lavar los platos. Como esta tarea puede ser realizada por una sola persona, decidieron escoger al azar
uno de ellos, y así el resto podría ir a jugar. Los niños resolvieron usar el juego zapatico cochinito como
mecanismo de selección del “lavaplatos”.

package Zapatico;

import java.util.Scanner;

public class Zapatico {

public static void main(String[] args) {


// TODO Auto-generated method stub
//String[] nombres = new String[]{"Hugo", "Paco", "Luis", "Pedro",
"Juan", "Filosofo", "Pitufina", "valiente", "Tontin", "Gruñon", "Pintor",
"Bromista"}; //cadena de nombres estáticos

Scanner entrada = new Scanner(System.in);


System.out.println("Ingrese un número 'k' para el conteo: ");
String valorK = entrada.nextLine();
int k = Integer.parseInt(valorK);

System.out.println("Ingrese la cantidad de niños: ");


String dimension = entrada.nextLine();

int dim = Integer.parseInt(dimension);

String [] nombres = new String [dim];

for (int i = 0; i < nombres.length; i++) {


System.out.println("Ingrese el nombre N°" + i);

nombres[i] = entrada.nextLine();

}
int cant = nombres.length;

String[] resultado = recorridoCircular(nombres, k);


String[] resultado2;
while (cant > 2)
{ if(cant != 3)
resultado2 = recorridoCircular(salida(resultado,0), k);

else
resultado2 = salida(resultado,0);

resultado = resultado2;
cant--;
}

if (cant == 2)
{ if(k == 1){
resultado2 = salida(resultado,1);

} else {
if(k % 2 == 0)
resultado2 = salida(resultado,0);
else
resultado2 = salida(resultado,1);
for(int i = 0;i<resultado2.length;i++){
System.out.print("\nEl 'lavaplatos' es
"+resultado2[i]+". ");

}
}}

public static String[] salida(String [] arr, int toRemove)


{ int newLength = arr.length;

newLength--;

String[] result = new String[newLength];


int count = 0;
for(int i = 0; i < arr.length; i++)

{
if(i != toRemove) {
result[count] = arr[i];
count++;
}
}
return result;

private static String[] recorridoCircular(String[] array, int


startIndex) {
StringBuilder sb = new StringBuilder();
int currentIndex = startIndex;
int newLength = array.length;
String[] result = new String[newLength];

int temp = 0;
try {
do {
if (currentIndex > array.length - 1) {
currentIndex = 0;
}

result[temp]=array[currentIndex++];
temp++;
} while (currentIndex != startIndex);

}
catch(Exception e) {
System.out.println(e);
}

return result;
}

También podría gustarte