[英](identifier expected) getter/setter and objects
我的程序有问题。 当我尝试以下编译时,我仅收到以下消息:
Tutorium.java:15: error: <identifier> expected
public void settName(vorlesung.lectureName) {
^
所以我的代码:
Tutorium.java
public class Tutorium {
private Vorlesung vorlesung;
public String tName;
private int tNumber;
public int gettNumber() {
return this.tNumber;
}
public String gettName() {
return this.tName;
}
public void settName(vorlesung.lectureName) {
this.tName = vorlesung.lectureName;
}
public String toString() {
return (this.tName + ", " + this.tNumber);
}
public Tutorium(int tNumber){
this.tNumber = tNumber; } }
Vorlesung.java
public class Vorlesung {
public String lectureName;
private int lectureNumber;
private int lecture;
private Dozent dozent;
private String lecturerlName;
public String getlectureName(){
return this.lectureName;
}
public int lectureNumber(){
return this.lectureNumber;
}
public int lecture(){
return this.lecture;
}
public String getlecturer(){
this.lecturerlName = dozent.lecturerlName;
return this.lecturerlName;
}
public String toString() {
return (this.lectureName + ", " + this.lectureNumber);
}
public Vorlesung(String lectureName, int lecture) {
this.lectureName = lectureName;
this.lecture = lecture +1;
this.lectureNumber = this.lecture -1;
this.lecturerlName = lecturerlName;
}}
我的主要方法:
public class MainVorlesung {
public static void main(String[] args) {
Student student = new Student("STUDENTNAME", "STUDENTLASTNAME", 178, 1);
Vorlesung vorlesung = new Vorlesung("Programmieren", 13341);
Tutorium tutorium = new Tutorium(3);
Dozent dozent = new Dozent("LECTURERFIRSTNAME", "LECTURERLASTNAME", 815);
System.out.println(student.toString());
System.out.println(vorlesung.toString());
System.out.println(tutorium.toString());
System.out.println(dozent.toString());
}}
我的目标是将tName的值设置为vorlesung.lectureName的值。
我为什么不能那样做呢?
感谢您的帮助。 :) 谢谢
对于方法,传入的参数必须具有声明的值。
在这种情况下,为字符串。 因此,您需要将方法更改为此:
public void settName(String newLectureName) {
this.tName = newLectureName;
}
在此处详细了解什么是Java方法以及如何创建方法: http : //www.tutorialspoint.com/java/java_methods.htm
将settName更改为
public void settName(String name) {
this.tName = name;
}
由于您的目标是:
我的目标是将tName的值设置为vorlesung.lectureName的值。
您应该完全摆脱setName方法,因为它完全取决于vorlesung字段,因此不应更改。 您还应该摆脱tName字段,而将getName()
更改为:
public class Tutorium {
private Vorlesung vorlesung;
// public String tName; // get rid of
private int tNumber;
public String gettName() {
if (vorlesung != null) {
return vorlesung.getlecturer();
}
return null; // or throw exception
}
// *** get rid of this since you won't be setting names
// public void settName(Vorlesung vorlesung) {
// this.tName = vorlesung.lectureName;
// }
我刚刚注意到,您的Tutorium类没有并且绝对需要setVorlesung(...)
方法。
public void setVorlesung(Vorlesung vorlesung) {
this.vorlesung = vorlesung;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.