我尝试使用getter方法编写一些代码,但在return
我遇到了问题
public int getNumberOfPages()
{
return "Number of pages: " + this.numberOfPages;
}
numberOfPages声明为整数。当我编译代码时,我收到此错误消息"字符串无法转换为int"。 我该如何解决这个问题? 非常感谢。
答案 0 :(得分:3)
您声明的方法
public int getNumberOfPages()
应返回int
类型,但您要返回
return "Number of pages: " + this.numberOfPages;
且"Number of pages: "
部分不是int
,它是String
的类型。
我想你要做的是打印出页数,所以这里有两种方法。
1不是最好的方式
只需将您的退货类型从int
更改为String
class ClassName {
int numberOfPages = 10;
public String getNumberOfPages() {
return "Number of pages: " + numberOfPages;
}
}
public class MyApp {
public static void main(String[] args) {
ClassName instanceName = new ClassName();
System.out.println(instanceName.getNumberOfPages());
}
}
2更好的方法
仅将变量numberOfPages
返回到您的方法,并将"Number of pages: "
部分添加到println
class ClassName {
int numberOfPages = 10;
public int getNumberOfPages() {
return numberOfPages;
}
}
public class MyApp {
public static void main(String[] args) {
ClassName instanceName = new ClassName();
System.out.println("Number of Pages: " + instanceName.getNumberOfPages());
}
}
通过这种方式,您可以稍后使用getNumberOfPages()
方法进行其他操作。
*另请注意,除非出现阴影,否则您不必在this
方法中使用getNumberOfPages()
关键字,但此处显然没有阴影。
答案 1 :(得分:2)
写下这样的方法:
public String getNumberOfPages()
{
return "Number of pages: " + this.numberOfPages;
}
但是如果你想使用名为numberOfPages
的变量并创建这样的set
和get
方法:
private int numberOfPages ;
public int getNumberOfPages() {
return numberOfPages;
}
public void setNumberOfPages(int numberOfPages) {
this.numberOfPages = numberOfPages;
}
答案 2 :(得分:1)
当你返回"Number of pages: " + this.numberOfPages
时,Java将其解释为字符串,因为没有数字方式将"Number of pages: "
表示为int而Java会给你一个错误。
如果您要打印this.numberOfPages
前面带有文字"Number of pages: "
,我相信您会在输出文字时调用该功能......
System.out.println("Number of pages: " + getNumberOfPages());