-3

我最近遇到了一些问题...我一直在网上学习一些教程并输入了他们告诉我的代码,我对其进行了一些修改,但它不起作用..这是用Java编写的。

编译的代码的第一部分

package newjavastoof;

public class NewJavaStoof {
    private String girlName;
    public void setName(String name)
    {
        girlName = name;
    }
    public String getName()
    {
        return girlName;
    }
    public void saying()
    {
        System.out.printf("your first girlfriend was %s", getName());
    }
}

第 11 行和第 12 行无法编译的代码的第二部分

package newjavastoof;
import java.util.Scanner;

public class Stoof {
    public static void main(String[] args)
    {
        Scanner imput = new Scanner(System.in);
        Stoof stoofObject = new Stoof();
        System.out.println("Enter name of first gf here: ");
        String temp = imput.nextLine();
        stoofObject.setName(temp);
        stoofObject.saying();


    }   
} 

这里有什么不正确的?我不明白,为什么没有 setName 或说?我应该申报吗?

4

6 回答 6

3

以下行

Stoof stoofObject = new Stoof();

应该

NewJavaStoof stoofObject = new NewJavaStoof();
于 2013-04-16T11:57:58.733 回答
1

在第一段代码中,您的类名为 NewJavaStoof,但在第二段代码中,您使用类 Stoof。

于 2013-04-16T11:57:57.283 回答
0

Stoof stoofObject = new Stoof();它应该是

NewJavaStoof stoofObject = new NewJavaStoof ();

于 2013-04-16T11:58:24.607 回答
0

你为什么要声明NewJavaStoofStoof在你的主要方法中使用?我想你应该替换 allStoofNewJavaStoof将你的NewJavaStoof类重命名为Stoof

于 2013-04-16T11:58:39.850 回答
0

在 Stoof 中,您试图在 Stoof 类型的 stoofObject 上调用 setName。

Stoof stoofObject = new Stoof();
...
stoofObject.setName(temp);

方法 setName 不是在 Stoof 上定义的,而是在您的 NewJavaStoof 对象上定义的。将 Stoof 更改为 NewJavaStoof 就完成了。

NewJavaStoof stoofObject = new NewJavaStoof();
...
stoofObject.setName(temp);
于 2013-04-16T11:59:03.350 回答
0

从 NewJavaStoof 创建一个实例,而不是从 Stoof.. Stoof 没有方法 setName() 和 say()..

用这个NewJavaStoof stoofObject = new NewJavaStoof();

于 2013-04-16T12:02:52.073 回答