2016-04-06 15 views
0

değişken TEST ben dışarı yüzden şu anda buDize Döşeme ve

[email protected]_Hd_s 
[email protected]_Update_on 
[email protected]_Ksks_ajsj 

eşit bir ArrayList var her "ürünü" çıkarmak istiyorum bu

[email protected]_Hd_s [email protected]_Update_on the [email protected]_Ksks_ajsj 

eşittir ArrayList eklemek benim dizisi listesindeki tek şey ben her "ürünü" çekme nasıl [email protected]_Hd_s

olduğunu Bir döngüde bir değişken (TEST) ve ArrayList'e ekliyor musunuz? Bugüne kadar

Kodum: uzağa yapmaktan

String TEST = result; 

ArrayList<String> Products = new ArrayList<>(); 
boolean flag = true; 

    while(flag == true){ 
     Products.add(TEST.substring(0, TEST.indexOf(' '))); 
     TEST = TEST.substring(TEST.indexOf(' ') + 1); 

      if(TEST.equals("")){ 
       flag = false; 
      }else{ 
       TEST = TEST.substring(1); 
      } 
    } 

see

cevap

1

Sizin bir adım. While döngüsünün ilk yinelemesinden sonra, [email protected]_Hd_s 'i geri alırsınız, ancak bundan sonra döngü sonsuz olarak çalışır, çünkü dizenin diğer kısımlarına erişilemez. Çözüm, Products'a her eklediğinizde dizeden aldığınız parçayı kesmektir. Bunun sadece TEST "" ile bittiğinde çalışacağını da not etmeliyim. İşte buna yaklaşmanın bir yolu.

String TEST = result; 

ArrayList<String> Products = new ArrayList<>(); 
boolean flag = true; 

while(flag == true){ 
    Products.add(TEST.substring(0,TEST.indexOf(' '))); 
    TEST = TEST.substring(TEST.indexOf(' '));//cutting the last email added from the string 
    if(TEST.equals(" ")){ 
     flag = false; 
    } 
    else{ 
     TEST = TEST.substring(1); //remove that space so that it doesn't get 
           //counted again in the next iteration 
    } 

} 
+0

TEST'in sonundaki "" nedeniyle düşünüyorum, çalışmaz –

+0

" " sonunda? –

+0

oh boşver işe yaramaz! ama daha sonra başvurmak için "" sonunu alabilir miydiniz? –

0

String.split() işlevini kullanarak alternatif bir hat çözüm:

girişinizi dizesini görünce basitçe e-posta aralarında boşluk sahip değil
List<String> products = Arrays.asList(TEST.split(" "));