我目前正在完成一个项目,我正在尝试创建一个菜单。菜单本身工作正常但是当我尝试链接到方法本身所在的其他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;
}
}
任何帮助都将受到赞赏:)
答案 0 :(得分:4)
查看您的代码,我猜movieID
是String
。
类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;
}
}