来自驱动程序类的Java更改属性
我不确定我的教授是打错了说明书还是我遗漏了什么。我接到一个任务,我们正在研究arraylist。指令的一部分要求我们在类中编写一个方法来更改属性名称city,一个名为setCity()的方法。之后,我将创建一个driver类,要求用户搜索我想要为其更改城市的人。我的教授回答说,但这基本上是重复的指示。在周末,直到周一才会有回复 我从驾驶员的角度理解了如何编写此方法。但是我的问题是如何编写setCity()方法来更改主类中的city属性 指令的引用:“您的CityEntry类应该有一个setCity()方法,该方法将允许更改city属性” 例如:来自驱动程序类的Java更改属性,java,arraylist,Java,Arraylist,我不确定我的教授是打错了说明书还是我遗漏了什么。我接到一个任务,我们正在研究arraylist。指令的一部分要求我们在类中编写一个方法来更改属性名称city,一个名为setCity()的方法。之后,我将创建一个driver类,要求用户搜索我想要为其更改城市的人。我的教授回答说,但这基本上是重复的指示。在周末,直到周一才会有回复 我从驾驶员的角度理解了如何编写此方法。但是我的问题是如何编写setCity()方法来更改主类中的city属性 指令的引用:“您的CityEntry类应该有一个setCit
public static void editCity(ArrayList<CityEntry> address){
boolean found = false;
Scanner scan = new Scanner(System.in);
System.out.println("example: ");
String str = scan.nextLine();
for(int i = 0; i < address.size(); i++){
if(address.get(i).getName().equalsIgnoreCase(str)){
found = true;
}
}
if(found){
System.out.println("Enter new city: ");
//here's the problem. If I should create a method in the driver for setCity()
//can't think of how to create it in the CityEntry class
}
}
编辑:谢谢大家。我已经忘记了突变的基本原理。我们的大部分作业都没有用到它。所以金德不知道教授的意思。你很接近,但在这种情况下,你不需要归还任何东西。你所需要做的就是改变这个城市 在Java中,当我们不想返回任何内容时,我们使用“void”作为类型(returnvoid部分被暗示并省略) 所以不是
public String setCity(String city){
您将使用
public void setCity(String city){
并且不返回任何内容。我假设您将在一个
CityEntry
类中编写此函数,该类具有此city
属性。这个属性很可能是受保护的
或私有的
,这就是为什么您需要一个设置器
(mutator),但是您的设置器方法不应该返回任何内容,它只会更改城市属性的值。要返回city
属性的值,还可以使用getter
(访问器)方法,如下所示:
public class CityEntry {
//Private fields
private String city;
...
//Constructor method
public CityEntry(String city, ...) {
this.city = city;
....
}
//Accessor for city
public String getCity() {
return city;
}
//Mutator for city
public void setCity(String city) {
this.city = city;
}
}
有关更多信息,请查看:与其他回复一样,
setCity()
是一种setter方法。它不会返回任何东西。它被传递名称,并将其分配给this.city
实例变量。因此,基本上您需要将public String setCity()
更改为public void setCity(String city)
哪种setter函数没有任何参数?!不是很有用的那种。
public class CityEntry {
//Private fields
private String city;
...
//Constructor method
public CityEntry(String city, ...) {
this.city = city;
....
}
//Accessor for city
public String getCity() {
return city;
}
//Mutator for city
public void setCity(String city) {
this.city = city;
}
}