-
Notifications
You must be signed in to change notification settings - Fork 0
/
Sierris.java
114 lines (97 loc) · 3.2 KB
/
Sierris.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.rmi.server.ServerNotActiveException;
import java.util.Stack;
//profe este código no compila los saltos que hace el Ook, yo estaba pensando en re-hacerlo si algo lo acualizo
public class Sierris {
public static String leerFichero(String ruta) throws IOException {
FileReader file = new FileReader(ruta);
BufferedReader bf = new BufferedReader(file);
String cadena, cad = "";
while ((cadena = bf.readLine()) != null) {
cad = cadena;
cadena += bf.readLine();
}
return cad;
}
public static void Ook(String cadena) {
double[] ascii = new double[800];
String[] sentencia = cadena.split(" ");
String[] sentencia1 = new String[sentencia.length / 2];
// Stack<String> sentencia1 = new Stack<String>();
int i = 0;
int k = 0;
while (i < sentencia.length - 1 && k < sentencia.length - 1) {
sentencia1[i] = sentencia[k] + " " + sentencia[k + 1];
i++;
k = k + 2;
}
/*
* while(i<sentencia.length-1){ sentencia1.push(sentencia[i]+ " " +
* sentencia[i+1]); i+=2; }
*/
hacer(sentencia1, 0, -1, ascii);
// return ascii;
}
/*
* public static double[] hacer2(Stack<String> pila){ int i=0, j=0, z=0;
* String valor;
*
* String[] auxiliar = new String[100];//auxiliar que almacena
* los comandos
* a repetir int numRepet; //numero de repeticiones
*
* while(i<pila.size()){ valor = pila.pop(); if(valor.compareTo("Ook. Ook."
* )==0){ if(j==-1){ j++; } ascii[j] =ascii[j] +1; }else if(valor.compareTo(
* "Ook! Ook!")==0){ ascii[j]=ascii[j]-1; }else if(valor.compareTo(
* "Ook. Ook?")==0){ j++; }else if(valor.compareTo("Ook? Ook.")==0){ j--;
* }else if(valor.compareTo("Ook! Ook.")==0){ System.out.print((char)
* ascii[j]); }else if(valor.compareTo("Ook! Ook?")==0){ auxiliar[z]=valor;
* numRepet=j; while(numRepet!=0){
*
* } z++; }
*
*
* } return ascii;
*
* }
*/
public static double[] hacer(String[] sentencias, int z, int j, double[] ascii) {
// double[] ascii= new double[800];
// boolean valor = true;
int repeticiones=0, guardaZ=0, guardaJ=0;
while (z < sentencias.length) {
if (sentencias[z].compareTo("Ook. Ook.") == 0) {
if (j == -1) {
j++;
}
ascii[j] = ascii[j] + 1;
} else if (sentencias[z].compareTo("Ook! Ook!") == 0) {
ascii[j] = ascii[j] - 1;
//repeticiones--;
} else if (sentencias[z].compareTo("Ook. Ook?") == 0) {
j++;
} else if (sentencias[z].compareTo("Ook? Ook.") == 0) {
j--;
} else if (sentencias[z].compareTo("Ook! Ook.") == 0) {
System.out.print((char) ascii[j]);
} else if (sentencias[z].compareTo("Ook! Ook?") == 0) {
} else if (sentencias[z].compareTo("Ook? Ook!") == 0) {
}
z++;
}
return ascii;
}
public static void main(String[] args) {
System.out.print(System.getProperty("user.dir")+"/ook.txt\n");
try {
Ook(leerFichero(System.getProperty("user.dir")+"/ook.txt"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}