自动递增Concat字符串变量和整数变量

时间:2019-08-07 13:52:39

标签: java android concatenation conditional-statements concat

我想将这样的字符串从“ Campaign A-1”更改为“ Campaign A-4”,之后我希望将String更改为“ Campaign B-1”更改为“ Campaign B-4”,最后一步是“ Campaign Z- 1“到” Campaign Z-4“。 AND字符串“广告系列Alpabhet-Number”自动递增。不按用户输入。 这个 请告诉我如何为此创建条件

这是我的代码: See CODE

这是输出: See OUTPUT

请帮助我 预先感谢。

2 个答案:

答案 0 :(得分:3)

您可以像对待int一样对待Java中的char,使您可以递增char直到所需的停止点。

    List<String> strings = new ArrayList<>();
    char character = 'A'; // start with a

    while ( character <= 'Z' ) { // stop after character is Z
        for ( int i = 1; i <= 4; i++ ) {
            strings.add( String.format( "Campaign %c-%d", character, i ) );
        }
        character++; // increment character
    }

    strings.forEach( System.out::println );

答案 1 :(得分:0)

生成器(按需)

您可以按需为序列中的任何“位置”生成ID:

public class IdGenerator {
    private static final int MAX_NUMBER = 4; // 'unit' column is base 4

    public static String generate(int position) {
        int quotient = position / MAX_NUMBER;
        int remainder = position % MAX_NUMBER;

        return String.format(
                "Campaign %c-%d",
                (char) (quotient + 'A'),
                remainder + 1
        );
    }
}

测试(在现实世界中使用时,只需将当前位置存储在数据库中即可;所有答案均相同):

// Calculate & print all IDs
public static void main(String[] args) {
    for (int i = 0; i < 26 * 4; i++) { // position is 0-based
        System.out.println(generate(i));
    }
}

// Campaign A-1
// ...
// Campaign Z-4