2014-04-07 2 views
1
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" 

제발 자바에 익숙하지 않습니다. 조건을 기반으로 분할하려고했습니다.자바 문자열의 조건을 가진 배열로 분할하기

모든 열 (:) 후에 성공적으로 분할했습니다. 하지만 난 세 번째 # 후 숫자를 기반으로 처음 10 자리 만 가져와야합니다. 3 # 뒤의 숫자가 1이면 수가 2 인 경우

는 내 말은, 그것은 창피도 처음 10 자리 숫자를 재생, 처음 #

전에 처음 10 자리 숫자를 표시해야합니다.

1 또는 2는 계정의 통화를 설명하므로 같은 콤보 상자에 1, 모든 콤보 상자에 2를 가진 모든 계정을 표시하려고합니다. (처음 10 자리는 계좌 번호입니다).

모두 표시하는 대신

친절하게 도와주세요. 내일은 java를 사용하여 미니 뱅킹 응용 프로그램을 제공 할 것입니다.

+0

계정 번호를 저장하기 위해'문자열'을 사용하십시오. –

+0

#에 대해 분할하고, 숫자를 읽고 numerAfterTheSpecial에 저장하고 split [numerAfterTheSpecial - 1]을 읽으십시오. –

답변

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

} 
관련 문제