Java 为什么最后一个返回语句不起作用?

Java 为什么最后一个返回语句不起作用?,java,return,bluej,Java,Return,Bluej,我是一个java初学者,我不知道我在这里犯了什么错误 此代码应该返回一个单词包含的字母数 内部方法1: 我使用一个变量,将字母数保存为“int numberOfChar” 内部方法2: 我只是想返回我已经保存在方法1中的值,但是当我使用这个方法时,我得到的只是“0”。为什么呢?我忘了什么 class Wordlength { int numberOfChar; /** * @param word the word, which length I want to co

我是一个java初学者,我不知道我在这里犯了什么错误

此代码应该返回一个单词包含的字母数

内部方法1: 我使用一个变量,将字母数保存为“int numberOfChar”

内部方法2: 我只是想返回我已经保存在方法1中的值,但是当我使用这个方法时,我得到的只是“0”。为什么呢?我忘了什么

class Wordlength {

    int numberOfChar;

    /**
     * @param word the word, which length I want to count.
     */
    public int wordlength (String word) {

        int numberOfChar = wort.length();

        return numberOfChar;
    }

    public int giveWordLength() {
        return numberOfChar;
    }
}

也许您忘记了这会创建一个新的局部变量,而不是引用另一个

int numberOfChar = word.length();
您可以从行的开头删除
int
,它会起作用,但是在您学习的过程中,我建议您限定正在使用的变量

this.numberOfChar = word.length();
您将需要修复一些其他语法错误,如果这应该是一个构造函数,那么将其设置为一个构造函数而不是一个方法。(构造函数不返回)


首先,到处都有打字错误,这段代码无法编译。。。请阅读、制作a并发布正确的代码。查找“变量阴影”构造函数
public int Wordlength(String word)
不应具有return@Blip这是一种方法,而不是一种构造函数。这是一种非常有用的方法!我确实忘记了,初始的“int”创建了一个新的局部变量。另外,我不小心使第一个方法看起来像一个构造函数,我不知道如何更正它,因为我没有找到编辑按钮。不过我现在已经改正了//编辑:我写的代码显然没有多大意义。我所做的只是玩弄语法,试图理解它是如何工作的,等等。对于我的新手问题,堆栈溢出可能是一个错误的地址。好吧,你仍然将它编辑为一个方法而不是构造函数,堆栈溢出是可以的,但如果你发布了无法运行的代码,就不会了。是的,这就是我想要的。这段代码确实可以运行,但我使用的是blueJ而不是eclipse。我想这会有所不同。从现在开始,我将在这里发布代码之前,用eclipse测试我的代码。
public Wordlength (String word) {
    this.numberOfChar = word.length();
}