0

我有代码,其中我有一个具有混合数据类型的对象的构造函数:

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问题以来已经有了很大的进步!)

有什么帮助吗?

4

3 回答 3

5

看起来你的课看起来像这样:

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;
    }
}

而且您现在想知道如何tourSizetourDetails.

嗯,这很容易。不要忘记旅游细节的部分。用类似的东西替换你的类

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通过重新组装所有部分来重新创建字符串。

于 2013-11-15T07:40:48.700 回答
4

如果您只想将原始类型值转换为 a String,请执行以下操作:

String.valueOf(tourSize)

该类包含几个用于从各种输入String创建对象的静态方法。String

于 2013-11-15T07:33:35.433 回答
2

""使用字符串连接运算符将空字符串添加"+" 到任何原始类型都将产生一个字符串。它是等价于 的操作String.valueOf(data)。例如:

String strSize = tourSize+"";
于 2013-11-15T07:34:13.560 回答