-7

每次我尝试时,它都会给我一个“非法类型开始”和“预期标识符”错误。

该类需要有: name:角色名称 level:角色当前等级(默认为1) XP:角色当前XP(默认为0) maxHP:角色最大总HP(默认为20) HP:当前HP人物(默认为maxHP) 金:当前金币数量(默认为100) 药水:当前药水数量(默认为0)

这是我不知道该怎么做的地方。它还需要角色名称的构造函数和布尔值 isDead(); 检查HP是否高于0。我知道如何添加这些。

到目前为止,这是我自己的微弱尝试:

public class Character {
    System.out.println("Enter your new character's name.");
    System.out.println("\t");
    String name = input.nextLine();
    level = 1;
    XP = 0;
    maxHP = 20;
    HP = maxHP;
    gold = 100;
    potions = 0;
}
4

4 回答 4

1

我真的建议您阅读一些有关此类基本内容的文档和教程,如果不了解这一点,您将不会走得太远。

  • 第一:要运行一个程序,你需要public static void main(String[] args) Method(在这里进行计算)
  • 看看如何声明变量
  • Constructor是类的一个方法,用来构造这个类的新对象,它和你的类同名:
public Charachter(String name){ //pass the name while creating an object
    this.name=name;
}

公开它最有意义

  • 您的布尔方法将是:
public boolean isDead(){
    if(this.HP>0) return true;
    else return false;
}

通常方法具有以下结构:

  1. 可见性定义

  2. 此方法返回的定义(如果没有,则它是一个 void,也称为过程)

  3. 方法名称

  4. 在括号中:您传递的可能参数,将用于方法内的计算(不是您的情况)

于 2013-07-20T22:42:03.807 回答
0

您必须定义类及其字段以及方法。这是帮助您入门的示例。

public class Character {
    private String name;
    private int level = 1;
    private int xp = 0;
    private int maxHp = 20;
    private int curHp = maxHp;
    private int gold = 100;
    private int potions = 0;

    /**
     * Constructor
     * @param name
     */
    public Character(String name){
        this.name = name;       
    }

    public boolean isDead(){
        return this.curHp == 0;
    }
}
于 2013-07-20T22:34:30.897 回答
0

如果您想要一个可以创建多个(什么是类)的角色-

public class Character {

    private int level, gold, potions;
    private double xp, maxHP, hp;               // maybe could be ints, not sure

    public Character(String newName) {
        name = newName;
        level = 1;
        xp = 0;
        maxHP = 20;
        hp = maxHP;
        gold = 100;
        potions = 0;            
    }
}

通常,您希望将 IO 与类创建隔离开来。

无论如何,现在您可以使用new Character("Robert"), 在main函数或任何您想要的上下文中创建一个新角色。您必须以相同的方式从用户那里获取名称。

于 2013-07-20T22:35:33.637 回答
-1

您必须有一种main方法来放入您的代码。像这样:

public class Character
    public static void main(String[] args) {
        System.out.println("Enter your new character's name.");
        System.out.println("\t");
        new Character(input.nextLine());
    }

    public Character(String name) {
        this.name = name;
    }

    String name;
    int level = 1;
    int XP = 0;
    int maxHP = 20;
    int HP = maxHP;
    int gold = 100;
    int potions = 0;
}

评论提出了许多其他改进,这里也有。

于 2013-07-20T22:27:04.277 回答