Algoritmos en java

Metodos de programacion y resolucion de problemas

Software para java

Como ejecutar los archivos .java.

viernes, 25 de febrero de 2011

Numero mayor y menor de una matriz en java

Numero mayor y menor de una matriz en java por medio de la comparacion


/**
 *
 * @author Gabriel
 */
import java.io.*;

    
public class ejer3{
    public static void main (String[]args)throws IOException{
       String nombre;
       int v[];
       v=new int[10];
       BufferedReader lectura=new BufferedReader(new InputStreamReader(System.in));
    for (int i=0;i<=9;i++){
       System.out.println("Ingresa un numero");
       nombre=lectura.readLine();
       int x=Integer.parseInt(nombre);
       v[i]=x;
        }

    System.out.println ("***Buscando el numero maximo***");
      int may;
may=v[0];
    for (int z=0; z<=9; z++){
    if (v [z]>may){
        may=v[z];
    }
        }
        System.out.println ("El numero maximo es : "+may);
                System.out.println ("***Buscando el numero minimo");
    int men;
    men=v[0];
        for (int z=0; z<=9; z++){
        if (v [z]<men){
            men=v[z];
            }
        }
            System.out.println ("EL numero minimo es : "+men);
    }
}


Compartir

Como saber si un numero o palabra es un palíndromo en java

Un palíndromo (del griego palin dromein, volver a ir hacia atrás) es una palabra, número o frase que se lee igual hacia adelante que hacia atrás. Si se trata de un número, se llama capicúa. Habitualmente, las frases palindrómicas se resienten en su significado cuanto más largas son.






/**
 *
 * @author Gabriel
 */


import java.io.*;
public class palindromo4 {

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

  BufferedReader recibir=new BufferedReader(new InputStreamReader(System.in));
String aux="";
int verificador=0;
int y=0;
int z=-1;

int x=0;
int c=0;
int contador=1;
  String letra[];
letra = new String[100];
System.out.println("Ingrese las letras");
        System.out.println("alteminar escribir : listo");
for ( c=0; c<=100; c++){

letra [c]=recibir.readLine();

aux=letra[c];
contador++;
if(aux.equals("listo")||aux.equals("Listo")){
    break;
}



}

        int sentencia=contador%2;


 for (x=0; x<=c-1; x++){

 }
for (y=0; y<=c-1; y++){
   x--;
   z++;

if(letra[x].equals(letra[z])){
verificador++;
  }
 }

int operacion=c;
  if (verificador==operacion){
      System.out.println("es un palindromo");

 }else{

      System.out.println("no es un palindromo");
}


System.out.println(" "+letra[0]+" | "+letra[1]+" | "+letra[2]+" | "+letra[3]+
" | "+letra[4]+" | "+letra[5]+" | "+letra[6]+" | "+letra[7]+" | "+letra[8]+
" | "+letra[9]+" | "+letra[10]+" | "+letra[11]+" | "+letra[12]+" | "+letra[13]+
" | "+letra[14]+" | "+letra[15]+" | "+letra[16]+" | "+letra[17]+" | "+letra[18]+
" | "+letra[19]+" | "+letra[20]);




}

}



Compartir

domingo, 20 de febrero de 2011

Numeros pares e impares de una matriz



Este programa  trata de ordenamiento de números por pares e impares  


para resolver este problema en los métodos se usara una sentencia con los números 
recibidos que consta en saber si el numero es par o impar como podemos saber esto 
es muy sencillo todos los números ingresados se dividirán entre 2 y su resultado debe 
ser igual a cero y si no son igual a cero entonces son impares 


ejemplo :( 55,340 )


55/2=27;   //este es el cociente 27 el residuo es 1 -- es impar

Para que saber si el numero es par o impar tendremos que saber el residuo.  

residuo igual 0  es par


residuo igual  1,2,3 …,9. Es impar


340/2=170; //el cociente es 170 y el residuo  es 0 -- es par 
 

 
/**
 *
 * @author Gabriel
 */
import java.io.*;

public class pares_impares {
public static void main(String[]args)throws IOException{
int v[] = new int [10];
        llen(v);
    System.out.println(" ");
     System.out.println("numeros ingresados");
    mostrar(v);

    System.out.println("***Numeros pares*** ");
        par(v);
    System.out.println("***Numeros impares*** ");
     imp(v);

 }
   public static void llen (int vec[])throws IOException{
    String n;
  BufferedReader lectura=new BufferedReader(new InputStreamReader(System.in));
        for(int i=0;i<=9;i++){
            System.out.println("Escriba un numero: ");
        n=lectura.readLine();
            vec[i] =Integer.parseInt(n);
                                }

}

    public static void mostrar(int num[]){
        int x;
     for(x=0;x<=9;x++)
        System.out.println(num[x]);

    }

   
    //numeros pares
    public static void par(int v[]){
     for(int x=0;x<=9;x++){
       if(v[x]%2==0){
               System.out.println(v[x]);
        }
      }
     }

//numeros impares
    public static void imp(int v[]){
     for(int x=0;x<=9;x++){
       if(v[x]%2 !=0){
               System.out.println(v[x]);
        }
      }
     }

}







Compartir

Matriz transpuesta con letras



Matriz con valores string 
Este programa muestra una matriz con letras al entrar al metodo muestar la misma
matriz pero ahora transpuesta 
 
 
 
 
De esta forma:


el contenido de nuestra matriz es
a        b        c        d        e        f        
g        h        i        j        k        l        
m        n        ñ        o        p        q        
r        s        t        u        v        x        
el contenido inverso de nuestra matriz es
a        g        m        r        
b        h        n        s        
c        i        ñ        t        
d        j        o        u        
e        k        p        v        
f        l        q        x   


/**
 *
 * @author Gabriel
 */
public class letras {
public static void main(String[] args) {

  String mat[][]={{"a","b","c","d","e","f"},
                       {"g","h","i","j","k","l"},
                       {"m","n","ñ","o","p","q"},
                       {"r","s","t","u","v","x"}};


 System.out.println("el contenido de nuestra matriz es");
        imprimir(mat);

System.out.println("el contenido inverso de nuestra matriz es");
        inversa(mat);
    }
public static void imprimir(String x [][]){
     for(int r=0;r<4;r++){
        for(int s=0;s<6;s++){
            System.out.print(x[r][s]+"\t");

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

}
public static void inversa(String g[][]){
  for(int c=0;c<6;c++){
          for(int f=0;f<4;f++){

System.out.print(g[f][c] +"\t");
}
System.out.println("");
}
}
}







Compartir

Juego del gato con arreglos, modo maquina & usuario

Juego del gato con arreglos, modo maquina & usuario





import java.io.*;
public class gato_juego {



public static void main(String[] args)throws IOException {
BufferedReader recibir=new BufferedReader (new InputStreamReader(System.in));
String juego[][];
juego = new String[3][3];//matrices
int n=0;
int fila;
int columna;
for (int a=0; a<=2; a=a+1) {
for (int b=0; b<=2; b=b+1) {
juego[a][b]="?";
int dato;
int dato1;
int datob;
int datob2;
}

}

//tablero
System.out.println(" 0   1   2");
System.out.println("0 "+juego[0][0]+" | "+juego[0][1]+" | "+juego[0][2]);
System.out.println("  __________");
System.out.println("2 "+juego[1][0]+" | "+juego[1][1]+" | "+juego[1][2]);
System.out.println("  __________");
System.out.println("3 " +juego[2][0]+" | "+juego[2][1]+" | "+juego[2][2]);

while (n<10) { //ciclo

//jugador 'x'
System.out.println("Es el turno del jugador X.");
System.out.println(" fila.");
int dato=Integer.parseInt(recibir.readLine());
System.out.println(" columna.");
int dato1=Integer.parseInt(recibir.readLine());
//comprobar si la jugada existe
while (juego[dato][dato1]== "X" || juego[dato][dato1]== "O" ) { //comparacion
System.out.println("A ingresado una jugada en donde YA existia una 
anteriormente");
System.out.println("Ingrese una fila.");
dato=Integer.parseInt(recibir.readLine());
System.out.println("Ingrese una columna.");
dato1=Integer.parseInt(recibir.readLine());
}
juego[dato][dato1] = "X";
//jugador X

//tablero
System.out.println(" 0   1   2");
System.out.println("0 "+juego[0][0]+" | "+juego[0][1]+" | "+juego[0][2]);
System.out.println("  ___________");
System.out.println("1 "+juego[1][0]+" | "+juego[1][1]+" | "+juego[1][2]);
System.out.println("  ___________");
System.out.println("2 "+juego[2][0]+" | "+juego[2][1]+" | "+juego[2][2]);

n=n+1;


if (juego[0][0]== "X" && juego[0][1]== "X" && juego [0][2]== "X") {
System.out.println("El ganador es el jugador 'x'.");
break;
}
if (juego[1][0]== "X" && juego[1][1]== "X" && juego [1][2]== "X") {
System.out.println("El ganador es el jugador 'x'.");
break;
}
else if (juego[2][0]== "X" && juego[2][1]== "X" && juego [2][2]== "X") {
System.out.println("El ganador es el jugador X.");
break;
}
 if (juego[0][0]== "X" && juego[1][0]== "X" && juego [2][0]== "X") {
System.out.println("El ganador es el jugador X.");
break;
}
 if (juego[0][1]== "X" && juego[1][1]== "X" && juego [2][1]== "X") {
System.out.println("El ganador es el jugador X.");
break;
}
if (juego[0][2]== "X" && juego[1][2]== "X" && juego [2][2]== "X") {
System.out.println("El ganador es el jugador 'X'.");
break;
}
//diagonales faltan
if (juego[0][0]== "X" && juego[1][1]== "X" && juego [2][2]== "X") {
System.out.println("El ganador es el jugador X.");
break;
}
if (juego[0][2]== "X" && juego[1][1]== "X" && juego [2][0]== "X") {
System.out.println("El ganador es el jugador X.");
break;
}
//condiciones victoria

if (n==9) {
break;
}

//jugador 0
System.out.println("Es el turno del la Maquina");
System.out.println(" fila.");
int datob;
datob = (int)(Math.random()*3)+0;
System.out.println("columna.");
int datob2;
datob2 = (int)(Math.random()*3)+0;
 System.out.println("numeros elegidos"+datob+"segundo"+datob2);
//comprobar si la jugada existe
while (juego[datob][datob2]== "O" || juego[datob][datob2]== "X" ) {
System.out.println("maquina");
datob = (int)(Math.random()*3)+0;
datob2 = (int)(Math.random()*3)+0;
    System.out.println("numeros elegidos"+datob+"segundo"+datob2);
}
juego[datob][datob2] = "O";
// jugador O

//tablero
System.out.println(" 0   1   2");
System.out.println("0 "+juego[0][0]+" | "+juego[0][1]+" | "+juego[0][2]);
System.out.println("  ____________");
System.out.println("1 "+juego[1][0]+" | "+juego[1][1]+" | "+juego[1][2]);
System.out.println("  ____________");
System.out.println("2 "+juego[2][0]+" | "+juego[2][1]+" | "+juego[2][2]);

n=n+1;//cantidad de jugadas permitidas

if (juego[0][0]== "O" && juego[0][1]== "O" && juego [0][2]== "O") {
System.out.println("el ganador es la maquina");
break;
}
if (juego[1][0]== "O" && juego[1][1]== "O" && juego [1][2]== "O") {
System.out.println("El ganador es la maquina");
break;
}
if (juego[2][0]== "O" && juego[2][1]== "O" && juego [2][2]== "O") {
System.out.println("El ganador es la maquina.");
break;
}
if (juego[0][0]== "O" && juego[1][0]== "O" && juego [2][0]== "O") {
System.out.println("El ganador es la maquina");
break;
}
if (juego[0][1]== "O" && juego[1][1]== "O" && juego [2][1]== "O") {
System.out.println("El ganador es la maquina");
break;
}
if (juego[0][2]== "O" && juego[1][2]== "O" && juego [2][2]== "O") {
System.out.println("El ganador es la maquina");
break;
}
//diagonales faltan
if (juego[0][0]== "O" && juego[1][1]== "O" && juego [2][2]== "O") {
System.out.println("El ganador es la maquina.");
break;
}
if (juego[0][2]== "O" && juego[1][1]== "O" && juego [2][0]== "O") {
System.out.println("El ganador es la maquina");
break;
}
//condiciones victoria

if (n==9) {
break;
}

}

}
}




Compartir

Juego del gato en java modo grafico usuario & usuario


El código está en letras pequeñas por si lo desea copiar pueda copiar todo
Pero por si las dudas dejo un enlace de descarga al final


 
 
import javax.swing.*;class gato_grafico
{
    public static void main (String args[])
    {
        int j;
        int px,py,i,r,t;
        JTextArea salida=new JTextArea();
        String a[][]=new String [3][3];
        while(true)
        {
        salida.append("\t 0 \t 1 \t 2 \n");
        for(i=0;i<3;i++)
        {
            for(r=0;r<3;r++)
            {
                a[i][r]="-";
            }
        }
  for(t=0;t<5;t++)
    {
JOptionPane.showMessageDialog(null, "TURNO DE EL JUGADOR #1");
    px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
    if(px>2)
    {
   while (px>2)
                {
JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
                }
            }
 py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
            if(py>2)
            {
                while (py>2)
                {
JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
                }
            }
            else if ((a[px][py]=="O")||(a[px][py]=="X"))
            {
                while((a[px][py]=="O")||(a[px][py]=="X"))
                {
JOptionPane.showMessageDialog(null,"La casilla ya esta OCUPADA \n Intenta en otra");
px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
                    if(px>2)
            {
                while (px>2)
                {
JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
                }
            }
py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
                if(py>2)
            {
                while (py>2)
                {
JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
                }
            }
                }
            }
            a[px][py]="O";
            for(i=0;i<3;i++)
            {
                salida.append(""+i);
                for(r=0;r<3;r++)
                {
                    salida.append("\t"+a[i][r]);
                }
                salida.append("\n");
            }
            salida.append("__________________________________________\n");
            JOptionPane.showMessageDialog(null,salida);
            if((a[0][0]=="O"&&a[0][1]=="O"&&a[0][2]=="O")||(a[1][0]=="O"&&a[1][1]=="O"&&a[1][2]=="O")||
            (a[2][0]=="O"&&a[2][1]=="O"&&a[2][2]=="O")||(a[0][0]=="O"&&a[1][0]=="O"&&a[2][0]=="O")||
            (a[0][1]=="O"&&a[1][1]=="O"&&a[2][1]=="O")||(a[0][2]=="O"&&a[1][2]=="O"&&a[2][2]=="O")||
            (a[0][0]=="O"&&a[1][1]=="O"&&a[2][2]=="O")||(a[2][0]=="O"&&a[1][1]=="O"&&a[0][2]=="O"))
            {
                JOptionPane.showMessageDialog(null, "EL JUGADOR # 1 ¡¡¡¡¡HA GANADO!!!!!");
                JOptionPane.showMessageDialog(null, salida);
                System.exit(0);
            }
            if((a[0][0]=="O"||a[0][0]=="X")&&(a[0][1]=="O"||a[0][1]=="X")&&(a[0][2]=="O"||a[0][2]=="X")
           &&(a[1][0]=="O"||a[1][0]=="X")&&(a[1][1]=="O"||a[1][1]=="X")&&(a[1][2]=="O"||a[1][2]=="X")
            &&(a[2][0]=="O"||a[2][0]=="X")&&(a[2][1]=="O"||a[2][1]=="X")&&(a[2][2]=="O"||a[2][2]=="X"))
            {
                JOptionPane.showMessageDialog(null, "Nadie ha ganado \n Por lo tanto es un empate");
                JOptionPane.showMessageDialog(null, salida);
                System.exit(0);
            }

 JOptionPane.showMessageDialog(null, "TURNO DE EL JUGADOR #2");
 px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
            if(px>2)
            {
                while (px>2)
                {
  JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
  px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
                }
            }
 py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
            if(py>2)
            {
                while (py>2)
                {
      JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
 py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
                }
            }
            if ((a[px][py]=="O")||(a[px][py]=="X"))
            {
                while((a[px][py]=="O")||(a[px][py]=="X"))
                {
 JOptionPane.showMessageDialog(null,"La casilla ya esta OCUPADA \n Intenta en otra");
 px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
                    if(px>2)
            {
                while (px>2)
                {
 JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
 px=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'x'"));
                }
            }
 py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
            if(py>2)
            {
                while (py>2)
                {
 JOptionPane.showMessageDialog(null, "Este valor no es valido\n Intente con un numero de 0 a 2");
 py=Integer.parseInt(JOptionPane.showInputDialog("En que ubicacion  desea tirar para el eje de las 'y'"));
                }
            }
                }
            }
            a[px][py]="X";
            for(i=0;i<3;i++)
            {
                salida.append(""+i);
                for(r=0;r<3;r++)
                {
                    salida.append("\t"+a[i][r]);
                }
                salida.append("\n");
            }
            salida.append("__________________________________________\n");
            JOptionPane.showMessageDialog(null,salida);
 if((a[0][0]=="X"&&a[0][1]=="X"&&a[0][2]=="X")||(a[1][0]=="X"&&
 a[1][1]=="X"&&a[1][2]=="X")||(a[2][0]=="X"&&a[2][1]=="X"&&a[2][2]=="X")||
(a[0][0]=="X"&&a[1][0]=="X"&&a[2][0]=="X")||(a[0][1]=="X"&&a[1][1]=="X"&&a[2][1]=="X")
||(a[0][2]=="X"&&a[1][2]=="X"&&a[2][2]=="X")||(a[0][0]=="X"&&a[1][1]=="X"&&a[2][2]=="X")
||(a[2][0]=="X"&&a[1][1]=="X"&&a[0][2]=="X"))
            {
                JOptionPane.showMessageDialog(null, "EL JUGADOR # 2 ¡¡¡¡¡HA GANADO!!!!!!");
                JOptionPane.showMessageDialog(null, salida);
                System.exit(0);
            }
        }
        }
}
}

Descargar el codigo


Compartir

Area y perimetro de un cuadrado con tres librerias swing, io, scanner



Area y Perimetro de un cuadrado

Como saber el perimetro y el area de un cuadrado con distintas librerias de java
libreria swing, scanner, io, ingresando datos desde teclado.


Descripcion : el perimetro y el area de un cuadrado se optione con la siguiente 
formula
la forma en que se representa en java es la siguiente
libreria swing
 
 

 
//inicio  
/*programo: hpublicity  
*area y perimetro  
*/


import javax.swing.*;
public class Figuras_Geometricas{
    
    public static void main(String[] args) {
    
  JOptionPane.showMessageDialog(null,"Cuadrado");      
   
  String numero=JOptionPane.showInputDialog("dame el tamaño del lado de tu 
cuadrado");
  int lado=Integer.parseInt(numero);
  
  int perimetro=lado*4;
  System.out.println("en perimetro es"+perimetro);
        
  int area=lado*lado;
  System.out.println("el area es:"+area);
    }
    
    
}
//fin



Algoritmo: area y perimetro de un cuadrado
libreria Scanner



//inicio  
/*programo: hpublicity  
*area y perimetro  
*/


import java.util.Scanner;
public class Figuras_Geometricas{
    
    public static void main(String[] args) {
        System.out.println("cuadrado");

    Scanner numero=new Scanner(System.in);
    int lado=numero.nextInt();
   

  
  int perimetro=lado*4;
  System.out.println("en perimetro es"+perimetro);
        
  int area=lado*lado;
  System.out.println("el area es:"+area);
    }
    
    
}

//fin



algoritmo: area y perimetro de un cuadrado

libreria io



//inicio  
/*programo: hpublicity  
*area y perimetro  
*/

import java.io.*;
public class Figuras_Geometricas{
    
    public static void main(String[] args)throws IOException {
        System.out.println("cuadrado");

        System.out.println("ingrese el tamaño del lado");
BufferedReader numero=new BufferedReader(new InputStreamReader(System.in));

int lado=Integer.parseInt(numero.readLine());
   

  
  int perimetro=lado*4;
  System.out.println("en perimetro es :"+perimetro);
        
  int area=lado*lado;
  System.out.println("el area es:"+area);
    }
    
    
}
//fin





Compartir

Twitter Delicious Facebook Digg Stumbleupon Favorites More