java - 代码运行但没有出现预期的输出

标签 java class output

<分区>

这些是我使用的类和主要方法。它应该向用户输出提示以管理小“战斗”。为什么运行了却没有输出?

public class Hero 
{
    private String name;
    private int health;
    private int strength;
    private int agility;
    private int stamina;
    Die die1;
    Die die2;
    Die die3;

    public Hero(String name) 
    {
        this.name = name;
        this.health = 50;
        this.stamina = 25;
        this.strength = 5;
        this.agility = 5;
    }

    public void setName(String Name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setHealth(int health) 
    {
        this.health = health;
    }

    public int getHealth() 
    {
        return health;
    }

    public void setStrength(int strength) 
    {
        this.strength = strength;
    }

    public int getStrength() 
    {
        return strength;
    }

    public void setAgility(int agility) 
    {
        this.agility = agility;
    }

    public int getAgility() 
    {
        return agility;
    }

    public void setStamina(int stamina) 
    {
        this.stamina = stamina;
    }

    public int getStamina() 
    {
        return stamina;
    }

    public int addHealth() 
    {
        if(health < 45 || health >= 0) 
        {
            health = health + 5;
        }
        return health;
    }

    public int removeHealth() 
    {
        if(health <= 50 || health >= 5) 
        {
            health = health - 5;
        }
        return health;
    }

    public int addStamina() 
    {
        if(stamina <= 20 || stamina >= 0) 
        {
            stamina = stamina + 5;
        }
    return stamina;
    }

    public int removeStamina() 
    {
        if(stamina <= 25 || stamina >= 5) 
        {
            stamina = stamina - 5;
        }
    return stamina;
    }

    private void rest() 
    {
        health = health + addHealth();
        stamina = stamina + addStamina();
    }

    public int attack(int damage) 
    {
        die1 = new Die(20);
        die1.roll();

        if(stamina <= 5) 
        {
            rest();
        }
        else 
        {
            damage = strength + die1.getValue();
            stamina = stamina - 6;
        }
        return damage;
    }

    public int defend(int block) 
    {
        die1 = new Die(20);
        die1.roll();

        if(stamina <= 3) 
        {
            rest();
        }

        if(die1.getValue() <= 6) 
        {
            block = getAgility() + (die1.getValue() * 2);
        }
        else 
        {
            block = getAgility() + (die1.getValue());
        }
        stamina = stamina - 4;
        return block;
    }

    public void printStats() 
    {
        System.out.println("Thy hero's name is: " + getName());
        System.out.println("Thy strengh is: " + getStrength());
        System.out.println("Thy agility is: " + getAgility());
        System.out.println("Thy stamina is " + getStamina());
        System.out.println("Thy health is: " + getHealth());
    }
}
public class Battle_Manager
{
    public static void main(String[] args) 
    {
        Hero hA = new Hero("Ayy");
        Hero hB = new Hero("Bee");

        Die die1 = new Die(12);
        Die die2 = new Die(8);
        Die die3 = new Die(6);

        die1.roll();
        die2.roll();
        die3.roll();
    }   
}

import java.util.Random;

public class Die 
{
    private int sides;
    private int dieValue;
    
     public void roll() 
    {
        Random r = new Random();
        dieValue = (r.nextInt(sides) + 1);
    }
     
    public int getSides() 
    {
        return sides;
    }
    
    public void setSides(int sides) 
    {
        this.sides = sides;
    }
    
    public Die() 
    {
        sides = 1;
        dieValue = 1;
    }
    
    public Die (int sides) 
    {
        sides = 1;
        dieValue = 1;
        
        if(sides >= 0) 
        {
            this.sides = sides;
        }
    }
    
    public int getValue() 
    {
        int value = dieValue;
        return value;
    }
}

这些是我使用的类和主要方法。它应该向用户输出提示以管理小“战斗”。为什么运行了却没有输出?

最佳答案

我没有看到任何提示用户输入的代码。你可以看看 How can I get the user input in Java?引导您提示用户输入。在打印到控制台后,您需要扫描仪和 System.in。您可能还想调用 Hero 的 printStats。

关于java - 代码运行但没有出现预期的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49561727/

相关文章:

java - 无法在 quartz 中运行作业,因为非法访问而出现异常

java - ScheduleAtFixedRate 执行速度快

javascript - 限制一个类可以被实例化的次数

java - 如何解决java聚合中的错误输出错误?

c++ - 将文件读入程序

java - 无法从 xml 文件正确获取本地化字符串

java - 安卓 : Firebase Realtime database

php限制函数调用某些类

c++ - 在一个函数中使用类的每个成员来计算平均值

c - 保持输出为零