“Eclipse中的类型字符串的方法**未定义”

时间:2013-07-23 12:50:23

标签: java eclipse methods undefined

我目前正在完成一个项目,我正在尝试创建一个菜单。菜单本身工作正常但是当我尝试链接到方法本身所在的其他java文件时,我得到错误“方法方法名称未定义类型String”。下面是我用来尝试链接到其他java文件中的方法的代码。

        {
        if (menuChoice.equals("A"))
        {
            System.out.print("Enter the Movie ID: ");
            movieID = sc.nextLine();
            movieID.borrowMovie();
        }
        if (menuChoice.equals("a"))
        {
            System.out.print("Enter the Movie ID: ");
            movieID = sc.nextLine();
            movieID.borrowMovie();
        }
        if (menuChoice.equals("B"))
        {
            System.out.print("Enter the Movie ID: ");
            movieID = sc.nextLine();
            movieID.returnMovie();
        }
        if (menuChoice.equals("b"))
        {
            System.out.print("Enter the Movie ID: ");
            movieID = sc.nextLine();
            movieID.returnMovie();
        }

此外,下面是我试图在其他java文件中链接到的两种方法的代码。项目要求有两个单独的类文件,并演示如何将它们一起使用,但这部分让我感到难过!

// Implement borrowMovie method
public double borrowMovie(String memberID)
{
    if (this.isOnLoan = false)
    {
        this.isOnLoan = true;
    }
    else 
    {
        return Double.NaN;
    }
    }

// Implement returnMovie method
public double returnMovie(int daysBorrowed)
{
    if (this.isOnLoan = false)
    {
        return Double.NaN;
    }
    else
    {
        this.isOnLoan = false;

    }
}

任何帮助都将受到赞赏:)

2 个答案:

答案 0 :(得分:4)

查看您的代码,我猜movieIDString

String没有方法borrowMovie()returnMovie(),所以你会从编译器中得到一个错误告诉你的错误。

而不是movieID.borrowMovie(),而不是borrowMovie(movieID)

以下是borrowMovie()returnMovie()方法中的另一个错误:

if (this.isOnLoan = false)

将值false分配给this.isOnLoan。这很可能不是你想要的。使用==进行比较,=进行分配。更好的是,要检查boolean是否为false,请使用!

if (!this.isOnLoan)

为什么您的方法会返回double个值?

答案 1 :(得分:0)

此行将值false赋给isOnLoan,因此将始终生成true。

if(this.isOnLoan = false)

除此之外,else分支上没有返回值,例如:

public double returnMovie(int daysBorrowed)
{
    if (this.isOnLoan = false)
    {
        return Double.NaN;
    }
    else
    {
        this.isOnLoan = false;
        return this.id;
    }
}