【问题标题】:auto increment Concat string variable and integer variable自动递增 Concat 字符串变量和整数变量
【发布时间】:2019-12-15 04:31:28
【问题描述】:

我想像这样“Campaign A-1”到“Campaign A-4”之后,我想将字符串更改为“Campaign B-1”到“Campaign B-4”,最后阶段是“Campaign Z- 1”到“战役 Z-4”.. AND St​​ring "Campaign Alpabhet-Number" 自动递增。不是由用户输入。 这 请告诉我如何为此创建条件

这是我的代码: See CODE

这是输出: See OUTPUT

请帮助我 提前致谢。

【问题讨论】:

  • 请使用您的代码编辑问题,而不是发布图片。参考formatting
  • 此数据是否仅限于一部手机?还是会被推送到服务器?如果是公共数据,您应该在服务器上生成 ID。

标签: java android concatenation conditional-statements concat


【解决方案1】:

生成器(按需)

您可以为序列中的任何“位置”按需生成 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

【讨论】:

    【解决方案2】:

    您可以将 Java 中的 char 视为 int,允许您递增 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 );
    

    【讨论】:

    • 很好的解决方案,可爱。
    • OP 似乎不太可能希望预先生成所有代码;我猜你需要跟踪最后使用的 id 并像生成器一样按需生成新的 id。
    • 还可以预先生成所有代码并跟踪列表中的当前位置?
    • 你是对的;我应该将不同的想法放入不同的答案中,而不是转换/破坏您的答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2018-12-30
    • 1970-01-01
    • 2020-02-10
    • 2013-12-30
    相关资源
    最近更新 更多