/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package fractal;
public class automata {
public static char convert(String d){
char r='x';
if(d.equals("000")) r = '0';
else if(d.equals("001")) r = '1';
else if(d.equals("010")) r = '1';
else if(d.equals("011")) r = '1';
else if(d.equals("100")) r = '0';
else if(d.equals("101")) r = '1';
else if(d.equals("110")) r = '1';
else if(d.equals("111")) r = '0';
return r; }
public static void main(String arg[])
{
String SRED = "\u001B[37m";
String ERED = "\u001B[31m";
int t,index,aux1,aux2,aux3;
String cad = "10010100101001010101010101010101010101010101000010100101010010001001001011011100101000";
//cad = raw_input(">> ")
t =cad.length();
index = t-1;
//print "longitud : ",t
String r = "";
for (int j=0;j<40;j++){
aux1 = index;
// este debe ser longitud -1 , al iniciar
aux2 = index -index; // este debe ser 0 al iniciar
aux3 = index - (index-1); // este debe ser 1 al iniciar
int cnt = 1;
r="";
char[] cadx=cad.toCharArray();
for (int i=0;i<cad.length();i++){
if (aux3==t){
aux3=0;}
char l = cadx[aux1];
char m = cadx[aux2];
char n = cadx[aux3];
//System.out.println(aux1+"-"+aux2+"-"+""+aux3);
String n1 = l+""+m+""+n;
if (cnt==1){
aux1 = 0;
aux2 = 1;
aux3 = 2; }
else {
aux1 = aux1 +1;
aux2 = aux2 +1;
aux3 = aux3 +1; }
cnt = cnt+1;
// System.out.println(n1 + " - - " + convert(n1) );
r += ""+convert(n1);
}
cad = r;
for(char c:r.toCharArray()) {
if(c=='0'){
System.out.print(SRED+""+"█"+ERED);
}
else {
System.out.print("█");
}
}
System.out.println("");
//System.out.println(r);
}
//print r
}
}
Funciona de la misma forma que el algoritmo anterior solo que este esta en java, hay ciertas caracteristicas muy diferentes de python, como son la declaracion de variables y la sintaxis de los for, pero la estructura del algoritmo es la misma.
No hay comentarios:
Publicar un comentario