Yve*_*omb 0 java arrays string replace substring
我有代码,我有一个具有混合数据类型的对象的构造函数:
public GuidedTour(String tourID, String tourDescription, double tourFee,
String tourDate, int tourSize, String tourLeader)
Run Code Online (Sandbox Code Playgroud)
我需要能够允许用户更新tourSize
.
我可以搜索并找到特定的游览,但是我无法解决如何用输入的int值替换子字符串int newTourSize
.
所以我试图替换的代码是:
String tourDetails;
String newDetails = tourDetails.replace(tourSize, newTourSize);
Run Code Online (Sandbox Code Playgroud)
它不会让我这样做,因为我使用的是int值.我尝试将int解析为String.
我不知道如何做到这一点,除了把所有的值都放回去,原始值带有新值,我相信找到并替换子串的那部分并将这个新字符串写入数组会更好.
我有点挣扎(但自从我的第一个java问题以来已经有了很大改进!)
有帮助吗?
看起来你的班级看起来像这样:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
而你现在想知道如何改变tourSize
成tourDetails
.
嗯,这很容易.不要忘记旅游细节的各个部分.用类似的东西替换你的班级
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;
}
}
Run Code Online (Sandbox Code Playgroud)
现在您不再需要进行任何String替换.您只需设置新的游览大小,并要求GuidedTour
实例tourDetails
通过重新组装所有部分来重新创建String.