-1

我目前正在完成一个项目并正在尝试创建一个菜单。菜单本身工作正常,但是当我尝试链接到方法本身所在的另一个 java 文件时,我收到错误“方法方法名称未定义类型字符串”。下面是我用来尝试链接到另一个 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 文件中链接到的 2 种方法的代码。项目要求有 2 个单独的类文件并演示如何将它们一起使用,但这部分让我很难过!

// 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;

    }
}

任何帮助都将不胜感激:)

4

2 回答 2

4

看看你的代码,我猜那movieID是一个String.

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

而不是movieID.borrowMovie()你想要的:borrowMovie(movieID).

borrowMovie()这是您的andreturnMovie()方法中的另一个错误:

if (this.isOnLoan = false)

您正在值分配falsethis.isOnLoan此处。这很可能不是你想要的。用于==比较,=用于分配。更好的是,要检查 aboolean是否为false,请使用!

if (!this.isOnLoan)

为什么你的方法返回double值?

于 2013-07-23T12:55:43.303 回答
0

此行将值 false 分配给 isOnLoan,因此将始终产生 true。

如果(this.isOnLoan = false)

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

public double returnMovie(int daysBorrowed)
{
    if (this.isOnLoan = false)
    {
        return Double.NaN;
    }
    else
    {
        this.isOnLoan = false;
        return this.id;
    }
}
于 2013-07-23T12:54:29.733 回答