Java Eclipse中的“类型字符串的方法**未定义”
我目前正在完成一个项目,并试图创建一个菜单。菜单本身工作正常,但当我尝试链接到方法本身所在的另一个java文件时,我发现错误,类型字符串的方法名称未定义。下面是我用来尝试链接到另一个java文件中的方法的代码Java Eclipse中的“类型字符串的方法**未定义”,java,eclipse,methods,undefined,Java,Eclipse,Methods,Undefined,我目前正在完成一个项目,并试图创建一个菜单。菜单本身工作正常,但当我尝试链接到方法本身所在的另一个java文件时,我发现错误,类型字符串的方法名称未定义。下面是我用来尝试链接到另一个java文件中的方法的代码 { if (menuChoice.equals("A")) { System.out.print("Enter the Movie ID: "); movieID = sc.nextLine()
{
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个单独的类文件,并演示如何使用它们一起,但这一部分让我难住了
// 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;
}
}
任何帮助都将不胜感激:此行将值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;
}
}
看看你的代码,我猜电影ID是一个字符串 类字符串没有borrowMovie和returnMovie方法,因此编译器会告诉您这样做的错误 而不是movieID.brookmovie您想要的电影:brookmoviemovieid borrowMovie和returnMovie方法中还有一个bug: 您在此处为this.isOnLoan赋值为false。这很可能不是你想要的。使用==进行比较,=进行赋值。更好的是,要检查布尔值是否为false,请使用!:
为什么您的方法返回双值?确切的错误是什么?另外请注意,如果this.isOnLoan=false将false赋值给isOnLoan,并且整个表达式的计算结果为false,则始终为false。您应该使用==或更好,如果!this.isOnLoan.@marounnaroun:编译器错误没有堆栈跟踪。如果!this.isOnLoan优于布尔比较。@jlordo我没有注意到这是编译器错误。当然更可取的是,我只是想让他知道==表示相等。sc.nextLine返回一个字符串,您正在调用movieID.movie;在那上面。那是完全错误的。如果您能够准确地显示您正在尝试执行的操作,我们可以提供更多帮助。您需要在else分支public Double returnMovieint daysBorrowed{if this.isOnLoan=false{return Double.NaN;}else{this.isOnLoan=false;return this.id;}
if (this.isOnLoan = false)
if (!this.isOnLoan)