Java 错误:";字符串不能转换为int";在爪哇
我试图用getter方法编写一些代码,但是在Java 错误:";字符串不能转换为int";在爪哇,java,string,integer,Java,String,Integer,我试图用getter方法编写一些代码,但是在return中我遇到了一个问题 public int getNumberOfPages() { return "Number of pages: " + this.numberOfPages; } numberOfPages被声明为整数。当我编译代码时,我得到了这个错误消息“string不能转换为int”。 我如何解决这个问题?? 非常感谢 编写如下方法: public String getNumberOfPages() { r
return
中我遇到了一个问题
public int getNumberOfPages()
{
return "Number of pages: " + this.numberOfPages;
}
numberOfPages被声明为整数。当我编译代码时,我得到了这个错误消息“string不能转换为int”。
我如何解决这个问题??
非常感谢 编写如下方法:
public String getNumberOfPages()
{
return "Number of pages: " + this.numberOfPages;
}
private int numberOfPages ;
public int getNumberOfPages() {
return numberOfPages;
}
public void setNumberOfPages(int numberOfPages) {
this.numberOfPages = numberOfPages;
}
但是如果您想使用名为numberOfPages
的变量,并创建set
和get
方法,如下所示:
public String getNumberOfPages()
{
return "Number of pages: " + this.numberOfPages;
}
private int numberOfPages ;
public int getNumberOfPages() {
return numberOfPages;
}
public void setNumberOfPages(int numberOfPages) {
this.numberOfPages = numberOfPages;
}
当您返回“页数:”+this.numberOfPages
时,Java将其解释为字符串,因为没有数字方法将“页数:”
表示为int,Java会给您一个错误
如果您想打印此.numberOfPages
并在其前面加上文本“页数:
,我相信您会希望在输出文本时调用该函数
System.out.println("Number of pages: " + getNumberOfPages());
您声明的方法
public int getNumberOfPages()
应该返回int
类型,但您正在返回
return "Number of pages: " + this.numberOfPages;
而“页数:
部分不是int
,它是字符串的一种
我想你要做的是打印出页数,所以这里有两种方法
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
返回到方法,并将页数:
部分添加到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()
方法进行其他操作
*还要注意的是,在getNumberOfPages()
方法中不必使用this
关键字,除非有阴影,但这里显然没有阴影。您返回的是一个字符串“页数:“+this.numberOfPages
是字符串。您必须返回this.numberOfPages
什么是numberOfPages?最后我希望看到这样的“页数:100”。numberOfPages只是一个由用户设置的数字。也许您需要将函数定义为返回字符串?确切地说,我想看到“页数:100”。数字将由用户设置。@mrv\u如何设置页数?public void setNumberOfPages(){System.out.println(“请设置定期打印介质的页数”);Scanner input=new Scanner(System.in);int numberOfPages=input.nextInt();this.numberOfPages=numberOfPages;}我这样设置方法。@mrv\u ce ok如果您像您所说的那样设置值,请使用上面的代码,我将使用toString方法中的get方法来获取有关媒体的信息列表。但是,如果缺少任何信息,则不应将其写为空行。如果没有关于页数的信息,则不应存在关于页数的行。为此,我发现将信息添加到get方法是最简单的方法。谢谢你的建议。