Archivo

Archivo para la Categoría "java"

Estructura de datos: palindromo en java

un ejemplo de pilas en java

import java.io.*;
 class Palindromo{
 public static void main(String args[])throws IOException{
 Pila pilaChar;
 char ch;
 boolean esPal;
 String pal;
 BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));
 try{
 pilaChar=new Pila();//crea pila vacia
 System.out.println("Teclea la palabra"+" a vereficar si es palindromo:");
 System.out.flush();
 pal=entrada.readLine();
 //se crea la pila con los caracteres de la palabra
 pilaChar=new Pila();
 for(int i=0; i<pal.length();)
 pilaChar.insertar(pal.charAt(i++));
 //se comprueba si es palindromo
 esPal=true;
 for(int j=0;esPal&& !pilaChar.pilaVacia();)
 {
 esPal=pal.charAt(j++)==pilaChar.quitar();
 }
 pilaChar.limpiarPila();
 if(esPal)
 System.out.println("La palabra "+pal+" es un palindromo \n");
 else
 System.out.println("la palabra "+pal+" no es un palindromo \n");
 }
 catch(Exception er)
 {
 System.out.println("Exception;"+er);
 }
 }
 }
import java.io.*;
 class Pila{//creando la clase pila
 private static final int TAMPILA=79;
 //private char elemento;//se agrego este codigo para
 private int cima;
 private char []listaPila;
 //constructor de la clase pila
 public Pila()
 {
 cima=-1;
 listaPila=new char[TAMPILA];
 }
 public void insertar(char elemento) throws Exception
 {
 if(pilaLlena())
 {
 throw new Exception("Desbordamiento de pila");
 }
 cima++;
 listaPila[cima]=elemento;
 }
 public char quitar()throws Exception
 {
 char aux;
 if(pilaVacia())
 {
 throw new Exception("pila vacia, no se puede exceder");
 }
 aux=listaPila[cima];
 cima--;
 return aux;
 }
 public boolean pilaVacia()
 {
 return cima==-1;
 }
 public boolean pilaLlena()
 {
 return cima==TAMPILA-1;
 }
 public void limpiarPila()
 {
 cima=-1;
 }
 }
Categorías:java

Ejemplo Sencillo de sobrecarga de constructores en Java

Un Cosntructor es un metodo de una clase con diferencia a los demas de que este debe tener el mismo nombre de la clase que lo contiene y tambien puede contener o no argumentos. Un constructor es el que se llama al crear un nuevo objeto incluso si no declaramos un constructor, esta declarado implicitamente y que por consecuencia no contiene codigo ni argumentos. Nosotros podemos Sobrecargar un constructor al declararlo varias veces en la misma clase pero con la diferencia que tebe llevar diferentes argumentos, esto es: diferencia en cantidad de argumentos o diferente tipo de argumentos o estas dos cosas combinadas. si tiene los mismos argumentos el compilador de java no sabra a cual constructor llamar y generara un error. si hacemos nuestro constructor con diferentes argumentos cuando invoquemos al constructor de la clase para crear un objeto dependiendo de los argumentos que le pasemos el compilador de java sabra que constructor utilizar en ese momento.

codigo:

   import java.io.*;
    class MetodoYConstructor
   {
      private int a;
      private int b;
      private double r;
       public MetodoYConstructor(int a, int b)
      {
         this.a=a;
         this.b=b;
      }
       public MetodoYConstructor(double r)
      {
         this.r=r;
      }
       int arearectangulo()
      {
         return(a*b);
      }
       void areacirculo()
      {
         double area;
         area=Math.PI*(r*r);
         System.out.println("El area del circulo es "+area);
      }
   }

    class Aplicacion
   {
       public static void main(String[]args)throws IOException
      {
         BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
         int a,b;
         double r;
         System.out.println("introduce la base del rectangulo");
         a=Integer.parseInt(in.readLine());
         System.out.println("Introduce la altura del rectangulo");
         b=Integer.parseInt(in.readLine());
         System.out.println("ahora introduce el radio de un circulo");
         r=Double.parseDouble(in.readLine());
         MetodoYConstructor obj1=new MetodoYConstructor(a,b);
         MetodoYConstructor obj2=new MetodoYConstructor(r);
         System.out.println("El area del rectangulo es "+obj1.arearectangulo());
         obj2.areacirculo();
      }
   }

Copialo de pastebin.com aqui

Categorías:java Etiquetas:,

Ejemplo de un árbol binario en Java con recorridos

Ejemplo de Un Arbol Binario en Java con impresion en inorden, postorden y preorden. para sus cursos de Estructura de datos. seguire subiendo mas ejemplos que hice en mi curso de esta materia.

//arbol en java inorden, posorden, preorden */

//definicion de la clase NodoArbol
class NodoArbol {

	//miembros de acceso
	NodoArbol nodoizquierdo;
	int datos;
	NodoArbol nododerecho;

	//iniciar dato y hacer de este nodo un nodo hoja
	public NodoArbol(int datosNodo)
	{
		datos = datosNodo;
		nodoizquierdo = nododerecho = null; //el nodo no tiene hijos
	}

	//buscar punto de insercion  e insertar nodo nuevo
	public synchronized void insertar(int valorInsertar)
	{
		//insertar en subarbol izquierdo
		if (valorInsertar < datos){

			//inserta nuevo nodoarbol
			if (nodoizquierdo == null)
				nodoizquierdo = new NodoArbol(valorInsertar);
			else //continua recorriendo subarbol izquierdo
				nodoizquierdo.insertar(valorInsertar);
		}

		//insertar nodo derecho
		else if(valorInsertar > datos){

		//insertar nuevo nodoarbol
		if (nododerecho == null)
			nododerecho = new NodoArbol(valorInsertar);
		else //continua recorriendo subarbol derecho
			nododerecho.insertar(valorInsertar);
		}
	} //fin del metodo insertar

} //fin clase nodoarbol

//---------- CLASE ARBOL------------------
 class Arbol{
	private NodoArbol raiz;

	//contruir un arbol vacio
	public Arbol()
	{
		raiz = null;
	}

	//insertar un nuevo nodo en el arbol de busqueda binaria
	public synchronized void insertarNodo(int valorInsertar)
	{
		if(raiz == null)
			raiz = new NodoArbol(valorInsertar); //crea nodo raiz

		else
			raiz.insertar(valorInsertar); // llama al metodo insertar
	}

	//--------------- EMPESAR EL RECORRIDO EN PREORDEN-----------------------
	public synchronized void recorridoPreorden()
	{
		ayudantePreorden(raiz);
	}
	//metodo recursivo para recorrido en preorden

	private void ayudantePreorden(NodoArbol nodo)
	{
		if (nodo == null)
			return;

		System.out.print(nodo.datos + " "); // mostrar datos del nodo
		ayudantePreorden(nodo.nodoizquierdo); //recorre subarbol izquierdo
		ayudantePreorden(nodo.nododerecho); //recorre subarbol derecho
	}

	//--------------EMPEZAR RECORRIDO INORDEN-----------------------------------
	public synchronized void recorridoInorden()
	{
		ayudanteInorden(raiz);
	}

	// metodo recursivo para recorrido inorden

	private void ayudanteInorden(NodoArbol nodo)
	{
		if (nodo == null)
			return;

		ayudanteInorden(nodo.nodoizquierdo);
		System.out.print(nodo.datos + " ");
		ayudanteInorden(nodo.nododerecho);
	}

	//-----------------------------EMPEZAR RECORRIDO POSORDEN---------------------------------
	public synchronized void recorridoPosorden()
	{
		ayudantePosorden(raiz);
	}

	//metodo recursivo para recorrido posorden

	private void ayudantePosorden(NodoArbol nodo)
	{
		if (nodo == null)
			return;

		ayudantePosorden(nodo.nodoizquierdo);
		ayudantePosorden(nodo.nododerecho);
		System.out.print(nodo.datos + " ");
	}

}//fin clase arbol

//programa para probar la clase arbol

public class PruebaArbol {
	public static void main(String args[])
	{
		Arbol arbol = new Arbol();
		int valor;

		System.out.println( "Insertando los siguientes valores: ");

		//insertando 10 numeros aleatorios del 0 al 99 en el arbol
		for (int i = 1; i<=10 ; i++)
		{
			valor = (int) (Math.random() * 100);
			System.out.print(valor + " ");
			arbol.insertarNodo(valor);
		}

		System.out.println("\n\nRecorrido preorden");
		arbol.recorridoPreorden();

		System.out.println("\n\nRecorrido inorden");
		arbol.recorridoInorden();

		System.out.println("\n\nRecorrido posorden");
		arbol.recorridoPosorden();
	}
}

Descargar el archivo .java en .txt

visualizar el archivo en pastebin.com

Categorías:java

Frase sobre Java : El recolector de Basura

Voy en 2do semestre de ing. y estoy aprendiendo Java pero como me gustan las frases que me he encontrado al buscar informacion de este lenguaje de programacion, muy graciosas :) :

“Si Java tuviera un verdadero recolector de basura, la mayoría de los programas se borrarían a sí mismos al ejecutarse”

Robert Sewel

Saludos.

Categorías:frases, java Etiquetas:, ,