String numbers = "0020020074#223#522620#1#9#0:0024202968#223#522620#1#59#0:0024039694#223#522620#1#1282#0:0024378742#223#522620#2#51#0"


请我是Java新手,我已尝试根据条件对此进行拆分。

我已经在每列(:)之后成功拆分了它们。但我只需要根据第三个#之后的数字获取前10个数字。

我的意思是,如果第三个#之后的数字是1,则应该在第一个#之前显示前10位数字

如果数字为2,则也显示前10位数字。

1或2解释了帐户中的货币,因此我想在同一组合框中显示所有带有1的帐户,然后在同一组合框中显示带有2的所有帐户。 (前10位数字是帐号)。

而不是全部显示。

请帮助我,明天我将使用Java交付我的迷你银行应用程序。

最佳答案

public static void main(String[] args) {
    String numbers = "0020020074#223#522620#1#9#0:" +
                     "0024202968#223#522620#1#59#0:" +
                     "0024039694#226#522620#3#1282#0:" +
                     "0024378742#223#522620#2#51#0";

    String[] nums = numbers.split(":");

    int i = 0;
    while(i < nums.length){

        if(nums[i].split("#")[3].charAt(0) == '1')
            System.out.println(nums[i].split("#")[0]);
        else if(nums[i].split("#")[3].charAt(0) == '2')
            System.out.println(nums[i].split("#")[0]);
        else
            System.out.println(nums[i].split("#")[1]);

        i++;
    }

}

09-11 19:16