【发布时间】:2013-07-23 12:50:22
【问题描述】:
我目前正在完成一个项目并正在尝试创建一个菜单。菜单本身工作正常,但是当我尝试链接到方法本身所在的另一个 java 文件时,我收到错误“方法 method name 未定义类型 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 文件中链接到的 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;
}
}
任何帮助将不胜感激:)
【问题讨论】:
-
确切错误是什么?另请注意,
if (this.isOnLoan = false)将false分配给isOnLoan,并且始终将整个表达式评估为false。你应该使用==(或(更好)if (!this.isOnLoan))。 -
@MarounMaroun:编译器错误没有堆栈跟踪。并且
if (!this.isOnLoan)比布尔比较更可取。 -
@jlordo 我没有注意到这是编译器错误。当然更可取,我只是想让他知道
==是为了平等。 -
sc.nextLine()返回一个String,你正在调用movieID.borrowMovie();。那是完全错误的。如果您能准确地展示您正在尝试做的事情,我们可以提供更多帮助。
标签: java eclipse methods undefined