我是Java的新手并且已经完成了一些任务,到目前为止我已经完成了下面显示的第一部分:
" 1。设计具有以下属性的类手册:
序列号 - 字符串, - 默认:??????
title - string, - default:Untitled
author - string, - default:Unknown
编写构造函数和方法,以在控制台上打印手册的详细信息。 "
代码:
public class Manual {
String serialNumber, title, author;
public static void main(String [] args){
Manual man= new Manual();
man.printDetails();
}
public Manual(){
serialNumber = "??????";
title = "Untitled";
author = "Unknown";
}
public void printDetails(){
System.out.println("Serial Number = " +serialNumber+" Title = "+ title+" Author = "+author);}
}
对于下一节,我被要求:
" 2。通过编写以下附加方法修改手册类:设置和获取手册属性的方法
向用户询问手册详情的方法
toString()方法。 "
到目前为止,我已尝试过这套装置。获取该部分的方法部分,我的代码如下:
public class Manual {
String serialNumber, title, author;
public static void main(String [] args){
Manual man= new Manual();
man.printDetails();
}
public Manual(){
serialNumber = "??????";
title = "Untitled";
author = "Unknown";
}
public String getserialNumber(){
return serialNumber;
}
public String gettitle(){
return title;
}
public String getauthor(){
return author;
}
public void setserialNumber(String serialNumber){
serialNumber = ??????;
}
public void settitle(String title){
title = Untitled;
}
public void author(String author){
author = Unknown;
}
public void printDetails(){
System.out.println("Serial Number = " +serialNumber+" Title = "+ title+" Author = "+author);}
}
有人能够告诉我,我到目前为止的代码是正确的吗?如果需要进行任何更改。此外,任何帮助下一个任务的帮助将不胜感激。
谢谢
答案 0 :(得分:1)
好吧,我不认为你的代码会编译!? getter / setter的目的是改变(设置)或获取对象。 你的二传手应该看起来像这样:
public void setTitle(String title){
this.title = title;
}
或者这个:
public void setTitle(String anotherVariableName){
title = anotherVariableName;
}
答案 1 :(得分:0)
这不正确:
你有没有试过编译它?!
答案 2 :(得分:0)
你走在正确的轨道上。我可以看到你对你的二传手感到困惑。标题,作者和序列号是整个类可以访问的变量,因此在您的setter中,您可以直接将值放在其中。在setter的参数中,您应该具有与这些变量的名称不同的名称。例如:
public void setTitle(String t)
{
title = t;
}
该函数将通过其参数(String t)传递一个字符串,并将该值放在title中。现在,您将默认值放入变量设置器中,这是不正确的。默认值是默认构造函数,您正确执行了该操作。为了帮助您了解更多内容,我将举例说明您的测试类可能是什么样的:
Manual myManual = new Manual(); //now that the Manual Object has been instantiated,
//the variables contain the default values from your
//default constructor.
myManual.setTitle("Some Title"); //"Some Title" was passed through the parameters of the
//setTitle method, and the title variable in Manual is equal
//that value
在旁注中,您可以始终将方法,变量等标题中第一个单词后面的单词的开头大写.setTitle,getAuthor等
编辑:
第一段代码是您的setter在Manual类中的外观。您应该将所有设置器更改为格式相似。所有评论的第二行将在主要方法中。
此外,我查看了您的pastebin代码,您仍然将设置器中的变量设置为默认值。这是不正确的。您应该将变量设置为通过参数传递的任何内容。