Está en la página 1de 15

public class Palindromo{

public static void main(String[] args) {

String[] palabras = {"amor","conoce","tiendas","Sale El As","No palindromos","frase","O


palabra","Que no sea palindromo"};

int indice = (int)(Math.random() * palabras.length);

System.out.println("Palabra utilizada: "+ palabras[indice]);

if (palindromo(palabras[indice]))

System.out.println("Palindromo");

else

System.out.println("NO Palindromo");

static boolean palindromo(String palabra)

//Quitar espacios y convertirlo a minusculas para hacer las comparaciones

String modificado = palabra.replaceAll(" ","").toLowerCase();

int i=0;

while (i < modificado.length() / 2)

if (modificado.charAt(i) != modificado.charAt(modificado.length() -1 -i))

return false;

i++;

return true;

}
EJERCICIO DEL SOLDADO QUE NO MORIRA

public class PROCEDIMIENTO{

public int josep(int n, int k){

if (n == 1)

return 1;

else

return (josep(n - 1, k) + k - 1) % n + 1 ;

public static void main(String[] args) {

PROCEDIMIENTO f = new PROCEDIMIENTO ();

int soldados=Integer.parseInt(JOptionPane.showInputDialog("Para cuantos soldados se va a


realizar."));

int conteo= Integer.parseInt(JOptionPane.showInputDialog("Elija el intervalo"));

System.out.println("El lugar en donde no morira es: "+f.josep(soldados, conteo));

}
Ejercicio pilas

import java.util.Scanner;

import java.util.Stack;

ublic class Principal {

public static void main(String[] args) {

String Apertura = "([{";

String Cierre = ")]}";

Stack pila = new Stack();

String ecuacion = "";

char d;

int m = -1;

int n = 0;

boolean balanceada = true;

int opc = 0;

String tecla;

Scanner teclado = new Scanner(System.in);

Scanner input = new Scanner(System.in);

boolean isInt = false;

do {

do {

System.out.println("TAREA # 4 - ASCE - ITB - NIVEL 4");

System.out.println("1. INGRESAR UNA EXPRESION");

System.out.println("2. SALIR");

System.out.print("INGRESE UNA OPCIÓN (1-2)==> ");

opc = input.nextInt();

} while (opc < 1 || opc > 2);

switch (opc) {
case 1:

System.out.print("INGRESE UNA EXPRESION==> ");

input.nextLine();

ecuacion = input.nextLine();

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

d = ecuacion.charAt(i);

m = (Apertura + Cierre).indexOf(d);

if (m > -1) {

if (m < 3) {

pila.push(d);

n++;

} else {

if (!pila.empty()) {

if (Apertura.indexOf(pila.pop().toString()) != Cierre.indexOf(d)) {

System.out.println("LA EXPRESION NO ESTA Equilibrada");

balanceada = false;

break;

} else {

System.out.println("LA EXPRESION NO ESTA Equulibrada");

balanceada = false;

break;

if (pila.empty() && n > 0 && balanceada==true) {

System.out.println("LA EXPRESION ESTA BALANCEADA");

}
System.out.println("-------------------------------");

System.out.println("PRESIONE UNA TECLA PARA CONTINUAR...");

try {

tecla = teclado.nextLine();

} catch (Exception e) {

break;

case 2:

System.exit(0);

} while (true);

}
Ejercicio de la palabra invertida

public class Palabra {

private Stack<Character>pila = new Stack<Character>();

public void invertir (String palabra){

char letras [] = palabra.toCharArray();

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

pila.push(letras[i]);

while(!pila.empty()){

System.out.print(pila.pop());

public static void main(String[] args) {

Palabra p = new Palabra();

String palabra = JOptionPane.showInputDialog("Ingrese una palabra.");


System.out.println("---> Palabra orgiginal <---");

System.out.println(palabra);

System.out.println("---> Palabra invertida <---");

p.invertir(palabra);

import java.util.ArrayList;

import java.util.List;

/**

* @author USUARIO

*/

public class Node {

private String city;

private List<Edge> edges;

public Node(String city){

this.city = city;

public String getCity(){

return city;

}
public void setCity(String city){

this.city = city;

public List<Edge> getEdge(){

return edges;

public void addEdge(Edge edge){

if(edges==null){

edges = new ArrayList<>();

edges.add(edge);

@Override

public String toString(){

return "\n \tNode [city="+city+", adges="+edges+"]";

public class Nodo {

// Variable en la cual se va a guardar el valor.

private int valor;

// Variable para enlazar los nodos.

private Nodo siguiente;

/**

* Constructor que inicializamos el valor de las variables.

*/
public void Nodo(){

this.valor = 0;

this.siguiente = null;

// Métodos get y set para los atributos.

public int getValor() {

return valor;

public void setValor(int valor) {

this.valor = valor;

public Nodo getSiguiente() {

return siguiente;

public void setSiguiente(Nodo siguiente) {

this.siguiente = siguiente;

import javax.swing.JOptionPane;

public class TallerEstructuraDeDatos {

public static void main(String[] args) throws Exception {


Lista lista = new Lista();

// Agregar al final de la lista

lista.agregarAlFinal(10);

lista.agregarAlFinal(11);

lista.agregarAlFinal(12);

lista.agregarAlFinal(13);

lista.agregarAlFinal(14);

lista.agregarAlFinal(12);

System.out.println("<<-- Lista -->>");

lista.listar();

// System.out.println("\n\n<<-- Tamaño -->");

// System.out.println(lista.getTamanio());

System.out.println("\nElimina el nodo con el valor pasado por teclado");

int x = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor del noso que quiere


eliminar"));

lista.removerPorReferencia(x);

lista.listar();

System.out.print(" | Tamaño: ");

System.out.println(lista.getTamanio());

System.out.println("<<-- Lista -->>");

lista.listar();

lista.valoresFinales();
}

public class Edge {

private Node origin;

private Node destination;

private double distance;

public Edge(Node origin, Node destination, double distance) {

this.origin = origin;

this.destination = destination;

this.distance = distance;

public Node getOrigin() {

return origin;

public void setOrigin(Node origin) {

this.origin = origin;

public Node getDestination() {

return destination;

public void setDestination(Node destination) {


this.destination = destination;

public double getDistance(){

return distance;

public void setDistance(double distance){

this.distance = distance;

@Override

public String toString(){

return "\n Edge [origin="+origin.getCity()+", destination="+ destination.getCity()+

", distance="+distance+"]";

import java.util.ArrayList;

import java.util.List;

/**

* @author USUARIO

*/

public class Graph {

private List<Node> nodes;


public void addNode(Node node){

if(nodes == null){

nodes = new ArrayList<>();

nodes.add(node);

public List<Node> getNodes(){

return nodes;

@Override

public String toString(){

return "Graph [nodes="+nodes+"]";

public class Main {

public static Graph getCGities(){

Node Lupiana = new Node("Lupiana");

Node Valfermoso = new Node("Valfermoso");

Node Carchalejo = new Node("Carchalejo");

Node Horche = new Node("Horche");

Node Atazon = new Node("Atazon");

Lupiana.addEdge(new Edge(Lupiana, Horche, 7));

Lupiana.addEdge(new Edge(Lupiana, Carchalejo, 5));


Lupiana.addEdge(new Edge(Lupiana, Valfermoso, 12));

Valfermoso.addEdge(new Edge(Valfermoso, Lupiana, 12));

Valfermoso.addEdge(new Edge(Valfermoso, Atazon, 7));

Carchalejo.addEdge(new Edge(Carchalejo, Lupiana, 5));

Carchalejo.addEdge(new Edge(Carchalejo, Atazon, 6));

Horche.addEdge(new Edge(Horche, Lupiana, 7));

Horche.addEdge(new Edge(Horche, Atazon, 12));

Atazon.addEdge(new Edge(Atazon, Horche, 12));

Atazon.addEdge(new Edge(Atazon, Carchalejo, 7));

Atazon.addEdge(new Edge(Atazon, Valfermoso, 6));

Graph graph = new Graph();

graph.addNode(Lupiana);

graph.addNode(Valfermoso);

graph.addNode(Carchalejo);

graph.addNode(Horche);

graph.addNode(Atazon);

return graph;

public static void main(String[] args) {

Graph graph = getCGities();

System.out.println(graph);
}

También podría gustarte