Llamada a métodos
Hola soy un poco nuevo en esto de java y tengo un problema al intentar invocar un método desde la clase main. Me sale un error de "non-static variable this cannot be referenced from a static context". Mi código es el siguiente:
package Hormigueros;
import java.io.*;
public class Main {
public class Hormiguero
{
private Comida[] comida= new Comida[1];
private Peligro[] peligro= new Peligro[1];
private Reina[] reina=new Reina[1];
private Soldado[] soldado= new Soldado[20];
private Obrera[] obrera= new Obrera[20];
private void inicializar_hormiguero()
{
reina[0].nombre="Reina";
reina[0].salud=10;
for (int i=0; i<20; i++){
soldado.nombre=Integer.toString(i);
soldado.salud=10;
obrera.nombre=Integer.toString(i);
obrera.salud=10;
}
peligro[0].salud=0;
peligro[0].coordenadas=0;
comida[0].cantidad=10;
comida[0].coordenadas[1][5]=true;
System.out.println("Hormiguero inicializado");
}
public static void main (String args[]){
Tablero tablero=new Tablero(); <----- Aqui me da el error y bueno en la siguiente tb
tablero.inicializar_tablero();
try{
System.out.println("¿Que desea hacer?");
System.out.println(" 1.- Aumentar familia. ");
System.out.println(" 2.- Comer. ");
System.out.println(" 3.- Defender hormiguero. ");
System.out.println(" 4.- Recolectar comida. ");
System.out.println(" 5.- Indicar peligro. ");
System.out.println(" 6.- Defender. ");
System.out.println(" 7.- Atacar. ");
System.out.println(" 8.- Salir. ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String línea = br.readLine();
}catch(Exception e){
System.out.println("Error en la E/S");
System.exit(0);
}
}
¿Me podrían decir como llamar a los métodos de esa clase? Gracias por adelantado.
package Hormigueros;
import java.io.*;
public class Main {
public class Hormiguero
{
private Comida[] comida= new Comida[1];
private Peligro[] peligro= new Peligro[1];
private Reina[] reina=new Reina[1];
private Soldado[] soldado= new Soldado[20];
private Obrera[] obrera= new Obrera[20];
private void inicializar_hormiguero()
{
reina[0].nombre="Reina";
reina[0].salud=10;
for (int i=0; i<20; i++){
soldado.nombre=Integer.toString(i);
soldado.salud=10;
obrera.nombre=Integer.toString(i);
obrera.salud=10;
}
peligro[0].salud=0;
peligro[0].coordenadas=0;
comida[0].cantidad=10;
comida[0].coordenadas[1][5]=true;
System.out.println("Hormiguero inicializado");
}
public static void main (String args[]){
Tablero tablero=new Tablero(); <----- Aqui me da el error y bueno en la siguiente tb
tablero.inicializar_tablero();
try{
System.out.println("¿Que desea hacer?");
System.out.println(" 1.- Aumentar familia. ");
System.out.println(" 2.- Comer. ");
System.out.println(" 3.- Defender hormiguero. ");
System.out.println(" 4.- Recolectar comida. ");
System.out.println(" 5.- Indicar peligro. ");
System.out.println(" 6.- Defender. ");
System.out.println(" 7.- Atacar. ");
System.out.println(" 8.- Salir. ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String línea = br.readLine();
}catch(Exception e){
System.out.println("Error en la E/S");
System.exit(0);
}
}
¿Me podrían decir como llamar a los métodos de esa clase? Gracias por adelantado.
1 respuesta
Respuesta de krlosnow
1