【问题标题】:How do I convert an array of integers to an array of strings based on the value of the integer?如何根据整数的值将整数数组转换为字符串数组?
【发布时间】:2019-10-02 17:10:28
【问题描述】:

我有一个整数数组,我正在使用一种方法进行随机化,我想使用该整数数组转换该整数数组

    int[] prizesUnshuffled = {0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5};
    RandomizeArray(prizesUnshuffled);
    String[] prizesString = (generateStringArray(prizesUnshuffled));

例如,我想要的是未洗牌的数组

    String[] prizesString = {PrizeA, PrizeA, PrizeA, PrizeB, PrizeB, PrizeB, PrizeC, PrizeC, PrizeC, PrizeD, PrizeD, PrizeD, PrizeE, PrizeE, PrizeE, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF, PrizeF};

对不起,如果我不善于解释这一点,但我不知道如何完成这一点,因为我是使用数组的新手。

【问题讨论】:

    标签: java arrays string integer


    【解决方案1】:

    Java 8 的 Stream API 可以让这变得简单:

    int[] arr = { 1, 2, 3, 4, 5 };
    String[] arr_toString = Arrays.stream(arr).boxed().map(x -> "Prize" + x).toArray(String[]::new);
    

    如果您无权访问流 API,或者更喜欢其他方式,您也可以这样做:

    int[] arr = { 1, 2, 3, 4, 5 };
    String[] arr_toString = new String[arr.length];
    
    for (int i = 0; i < arr.length; ++i) {
        arr_toString[i] = "Prize" + arr[i];
    }
    

    【讨论】:

    • Lol 正要发布我的 Streams 答案,直到我看到你的答案是一样的
    • 这很接近,我意识到我应该指定我希望字符串是唯一的。我有字符串 PZL、MPT、PSR、GME、BAL、DLL,以及我想用正确的文本替换数字。
    • 没有更多信息,我们无法为您提供帮助。为什么不使用某些输入的示例以及您正在寻找的输出来更新您的问题。这样,您可以根据您的标准指定对输入进行的转换以将其转换为输出。
    【解决方案2】:
    public String[] generateStringArray(int[] prizesUnshuffled) {
        // Create string array of same size as we are going to return the same size
        String[] stringArr = new String[prizesUnshuffled.length];
        String prepend = "Prize";
    
        // Sort the prizesUnshuffled as it's been randomized by RandomizeArray
        Arrays.sort(prizesUnshuffled);
    
        // Iterate till there are items in prizesUnshuffled
        for (int i = 0; i < prizesUnshuffled.length; i++) {
            // Concat the string with prizedUnshuffled
            // Replace it in generate string array
            stringArr[i] = prepend + prizesUnshuffled[i];
        }
        return stringArr;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-14
      • 2012-02-26
      • 2019-04-21
      相关资源
      最近更新 更多