Это импортирует текст из файла и создает массив объектов типа врагИспользуйте массив объектов в другом классе
class cmdquest{
public static void main(String args[]) throws Exception{
//Importing foes.txt to create objects of foes
java.io.File file = new java.io.File("foes.txt");
Scanner imp = new Scanner(file);
foe foes[] = new foe[100];
for(int i =0; i<3; i++){
foes[i]=foe.leDados(imp);
}
}
В другом классе я получил, но это не работает
static void db(){
for(int a=0; a<3; a++){
System.out.print(cmdquest.foes[a].name + "\t");
}
System.out.print("*Press Enter to go back to the main menu*");
Scanner kb = new Scanner(System.in);
kb.nextLine();
Menu.show_menu();
}
Это мой класс враг со всем объявили, в том числе имя:
class foe{
String name;
int hp;
int str;
int def;
foe(String n, int h, int s, int d) {
name = n;
hp = h;
str = s;
def= d;
}
static foe leDados(Scanner imp){
String foe_name = imp.next();
int foe_hp = imp.nextInt();
int foe_str = imp.nextInt();
int foe_def = imp.nextInt();
return new foe(foe_name, foe_hp, foe_str, foe_def);
}
}
Это ошибка я получаю при компиляции:
cmdquest.java:186: error: cannot find symbol
System.out.print(cmdquest.foes[a].name + "\t");
^
symbol: variable foes
location: class cmdquest
1 error
Вы должны объявить 'FOE недруги [] = новый враг [100],' вне вашего класса 'main'. – sarwar026
@CarlosMiguelFernando прочитал ссылку, упомянутую в моем ответе, лучший способ кодирования, вам это нужно. и попробуйте использовать модификаторы как с полями, так и с методами. –