2014-10-30 2 views
-1

하나의 문자열을 같은 크기의 두 부분으로 나눌 수 있지만 단어 사이에 분할하지 않는 방법은 무엇입니까?
하나의 문자열을 동일한 크기의 두 부분으로 나누고 싶지만 문자열을 단어 사이로 나누지 말고 공백 사이에서만 침을 뱉어 야합니다.문자열을 java/android의 단어로만 같은 크기의 두 부분으로 나눕니다.

+0

단어의 길이면에서 같은 크기입니까? 아니면 문자? –

+0

문자는 길이를 의미하지만 .. 거의 동일합니다. – Tejas

+0

@PhilippJahoda 공백을 버리는 것 이외에 무엇이 잘못 되었습니까? 내가 알아낼 수있는 유일한 문제입니다. 수학 연산을 최소화하기 위해 변수를 사용합니다 :'yourstring.length()/2)'. –

답변

3
  1. 중간에 낮은 거리를두고 공백을 가지고 두 개의 문자열
를 생성 양 방향으로 중간에서 중간
  • 검색을 결정 다음 공백을 단어
  • 의 길이를 결정
  • +2

    +1하지만 나는 그가 복사 & 붙여 넣기 준비가 된 코드를 원한다고 확신한다 :) 어쨌든 이러한 문제는 초등 학교 **의 기본 프로그래밍 수업에 대한 전형적인 예문이었다 ** – Selvin

    -2
     String s = "123456789"; 
         int length = s.length(); 
         boolean flag = length%2==0?true:false; 
         String[] splits = new String[2]; 
         if(flag){ 
          splits[0] = s.substring(0, length/2); 
          splits[1] = s.substring(length/2, length); 
         }else{ 
          System.out.println("cannot split this string into two same size parts,because its length is not even"); 
         } 
         System.out.println(splits[0]); 
         System.out.println(splits[1]); 
    
    0

    홀수 길이와 짝수 길이의 스플릿 문자열의 경우 아래 코드를 사용하여 답변했습니다.

    String st= (String) st.getText().toString().trim(); 
           int length = st.length(); 
           boolean flag = length%2==0?true:false; 
           String[] splits = new String[2]; 
           if(flag){ 
            splits[0] = st.substring(0, length/2); 
            splits[1] = st.substring(length/2, length); 
           }else{ 
            int middle = length/2; 
            splits[0] = st.substring(0, middle); 
            splits[1] = st.substring(middle, length); 
           } 
    
    관련 문제