gpt4 book ai didi

java - 错误 : Cannot resolve method

转载 作者:行者123 更新时间:2023-11-29 07:01:13 25 4
gpt4 key购买 nike

我试图创建一个包含多个具有不同属性的角色的程序。我在调用我(尝试)在类字符中定义的方法时遇到问题。

public class CharacterAttributes
{
public static void main(String[] args)
{
Character John = new Character("John", 0);
workout(5);
}
}
class Character
{
private String name;
private int Str;
public Character(String n, int initialStr)
{
name = n;
Str = initialStr;
}
public void workout(int byAmt) {
Str = Str + byAmt;
}
}

编译器说无法解析“workout()”方法。

谢谢!

老实说,可能有很多错误。

最佳答案

该方法属于 Character 类,因此您应该针对实例 John 调用它:

John.workout(5);

作为旁注,通常以小写开头的变量名称(john 代替 Johnstr 代替Str),并给它们命名以反射(reflect)它们的类型(Str 暗示它是一个 String,而实际上它是一个 int).

编辑:

根据您的评论,如果您想按照您的方式调用方法 workout,您可以将该方法移动到 CharacterAttributes 类,并更改以便它引用将要更新的 Character 实例。

public static void main(String[] args) {
Character John = new Character("John", 0);
workout(John, 5);
}

public static void workout(Character character, int byAmt) {
// use a setter to set the attribute
character.setStr(character.getStr() + byAmt);
}

class Character {
private String name;
private int Str;
public Character(String n, int initialStr) {
name = n;
Str = initialStr;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStr() {
return Str;
}
public void setStr(int str) {
Str = str;
}
}

关于java - 错误 : Cannot resolve method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25773628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com