如何调用类Java-Eclipse

如何调用类Java-Eclipse,java,eclipse,class,while-loop,Java,Eclipse,Class,While Loop,我正在制作一个基于文本的角斗士战斗游戏。我遇到的问题是,当我尝试调用它时,它不会进入另一个类。这就是我所拥有的 主类 if (fill.equals("1")) { arena = true; while (arena == true) { System.out.println("You travel to the arena."); fill = scan.next(); System.out.println("Vanguard:

我正在制作一个基于文本的角斗士战斗游戏。我遇到的问题是,当我尝试调用它时,它不会进入另一个类。这就是我所拥有的

主类

if (fill.equals("1")) {
    arena = true;
    while (arena == true) {
        System.out.println("You travel to the arena.");
        fill = scan.next();
        System.out.println("Vanguard: Welcome!");
        System.out.println("1) Enter the arena.");
        System.out.println("2) Exit the arena.");
        fill = scan.next();
        if (fill.equals("1")) {
            System.out.println("Vanguard: These are the available matches:");
            if (rank == "Rookie") {
                System.out.println("1) Snow");
                System.out.println("2) Blaze");
                System.out.println("3) Ember");
                fill = scan.next();

                if (fill.equals("1")) {
                    System.out.println("You with to battle Snow? Y/N");
                    fill = scan.next();
                    fill = fill.toLowerCase();
                    if (fill.equals("y")) {
                        enemy = "Snow";
                        enemyhealth = 35;
                        enemydamage = enemydamrn.nextInt((7 - 5) + 1) + 5;
                        System.out.println("You go to the arena to prepare with snow.");

                        Battle Battle = new Battle();
                    }       
                }
            }
        }
    }
}
当我在扫描器中键入“y”时,它只会在while语句处重新启动,而不会转到类。

如果能得到任何帮助,我将不胜感激。我对java非常陌生,我已经用它编写了大约1.5个月的代码,我希望能够发现这个问题。我希望你们中的任何人都能帮助我^_^/

当你说

Battle Battle = new Battle();
你用一个非常不幸的名字构造了一个新的
Battle
。我建议你试试

Battle battle = new Battle();
然后(除非您在
Battle
构造函数中执行所有操作,我不推荐这样做),您需要调用希望在
Battle
实例上执行的方法,如

battle.someMethod();
而且

不适用于比较
字符串
(s)。这是引用相等(不是值)。您需要测试
String
等同性

if (rank.equals("Rookie")) {

您在哪里设置
arena=false
?这似乎是退出while循环的合乎逻辑的方式。您希望
Battle Battle=new Battle()
做什么?有趣的是,您会使用
fill.equals(“1”)
但是
rank==“Rookie”
简单地创建一个类的实例并不会产生您可能需要的任何功能。该实例本质上是从该类获取功能的指针。您必须使用该指针.plus 1来指示
battle
对象的java约定上的OP。尽管这可能值得注意,但您可以将其保留,而不调用方法。在
Battle
@OP的构造函数中包含所有内容,可能类似于:
while(Battle.isActive()){…}
而不是将其包含在构造函数中
if (rank.equals("Rookie")) {