我有代码,其中有一个具有混合数据类型的对象的构造函数:
public GuidedTour(String tourID, String tourDescription, double tourFee,
String tourDate, int tourSize, String tourLeader)
我需要能够允许用户更新tourSize
。
我可以搜索和查找特定的游览,但无法弄清楚如何用输入的 int 值 int newTourSize
替换子字符串。
所以我尝试替换的代码是:
String tourDetails;
String newDetails = tourDetails.replace(tourSize, newTourSize);
它不会让我这样做,因为我正在使用 int 值。我尝试将 int 解析为字符串。
我不知道如何做到这一点,除了将所有值放回原值和新值之外,我确信最好找到并替换子字符串的该部分并将这个新字符串写入数组。
我有点挣扎(但自从我在这里提出第一个 java 问题以来已经进步了很多!)
有什么帮助吗?
最佳答案
你的类(class)看起来像这样:
public class GuidedTour {
private String tourDetails;
public GuidedTour(String tourID, int tourSize) { // other arguments omitted for brevity
this.tourDetails = tourID + tourSize;
}
public String getTourDetails() {
return tourDetails;
}
}
您现在想知道如何将 tourSize
更改为 tourDetails
。
嗯,这很容易。不要忘记旅游细节的部分。将您的类(class)替换为类似的内容
public class GuidedTour {
private String tourID;
private int tourSize;
public GuidedTour(String tourID, int tourSize) { // other arguments omitted for brevity
this.tourID = tourID;
this.tourSize = tourSize;
}
public String getTourDetails() {
return tourID + tourSize;
}
public void setTourSize(int newTourSize) {
this.tourSize = newTourSize;
}
}
现在您不再需要进行任何字符串替换。您只需设置新的游览大小,然后要求 GuidedTour
实例通过重新组装所有部件来重新创建 tourDetails
字符串。
关于java - 替换数组中的字符串,其中字符串的部分是 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19995723/