Hola,
No entiendo, ese código lo hiciste tú? Como se te puede pasar por alto algo tan simple, después de escribir ese sistema de cache?
Cita:
Iniciado por kyc212 YO CREO Q EL TIPO DE DATO ES EL MISMO.. MIL GRACIAS!!
¿Que tiene que ver el tipo de dato?
Cita:
Iniciado por Xerelo No sé si tienes claro el concepto de variable "global" (en java no se usa ese término)
Tal y como tienes el código, creas un objeto de la clase que contiene el código que has puesto, ejecutas el método searchValue de dicho objeto y luego lees la variable de instancia de ese objeto. Así que si creas otro objeto de esa clase, la variable estará a cero, ya que es otro objeto o instancia.
Pero creo que Xerelo no estaba lejos de darte la respuesta. Porque seguramente estas usando una variable diferente "estado" que según tu concepto es una variable global.
Código:
* @author Kathy: creando mis mtds
*/
public class CacheClass {
private int estado;
public int getEstado() {
return estado;
}
.....
public void getEnterValues() throws IOException {
BufferedReader enter = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter Cache size en Kbytes: ");
cacheSize = 4 * 1024; // (Integer.parseInt(enter.readLine()) * 1024);
System.out.print("Enter Block size en Bytes: ");
block_size = 4; // Integer.parseInt(enter.readLine());
System.out.print("Enter Associative Type: ");
typeAssocia = 1; // Integer.parseInt(enter.readLine());
System.out.print("Enter Replecement Policy: ");
typeReplace = 1; // Integer.parseInt(enter.readLine());
}
.....
Código Java:
Ver originalpackage asscsa;
import java.io.IOException;
public class M
extends Thread {
@Override
public void run() {
CacheClass cache = new CacheClass();
try {
cache.getEnterValues();
}
for (int i = 0; i < 4101; i++)
cache.insertarValores(i);
cache.crearCache();
for (int i = 0; i < 4; i++)
cache.copyValuesCache();
System.
out.
println("El estado es : " + String.
valueOf(cache.
getEstado())); }
new M().start();
}
}
Da igual, no sé porque dices que siempre tiene 0.
Saludos,