2016-04-10 20 views
-2

İhtiyacım olan şey "a13cA45b" içindeki "acaAAb" gibi bir dizeyi dönüştürme kodudur, çünkü "a" dizenin ilk ve üçüncü harfidir ve " Bir "dördüncü ve beşinci.Bir dizgede yinelenen karakterleri denetleme ve konumlarını sayısallaştırma

Java için oldukça yeni ve ne yapacağımı bilmiyorum. Kodum şimdiye kadar geçerli:

res dönüştürmek için dize ve res örneğin "acAAb" için ise çıkış "a1c2A34A34b5" dir
String resSplit[] = res.split(""); 
String str; 
for(int i = 0; i < resSplit.length; i++){ 
    str = resSplit[i]; 
    for (int j = -1; (j = res.indexOf(str, j + 1)) != -1;){ 
     resSplit[i] = resSplit[i] + (j+1); 
    } 
} 
for(int i = 0; i < resSplit.length; i++){ 
    for(int j = 1; j < resSplit.length; j++){ 
     if(resSplit[i].equals(resSplit[j])){ 
    //  resSplit[i] = ""; 
     } 
    } 
} 
res = ""; 
for(int i = 0; i < resSplit.length; i++){ 
    res = res + resSplit[i]; 
} 

.

Lütfen yardım edin!

Örnekler: çünkü "ACCB" den "Ac23b" "CCBB" "cCb34" "baca" aynı kalır değil

DÜZENLEME her harfin birden fazla: vermek istiyorum Sadece bir kereden fazla görünen harfler için sayılar

DÜZENLEME: Lütfen "-1" sorusunu anlamayın, çünkü bunu anlamıyorsunuz. İngilizce değilim, bunu açıklamak için elimden geleni yapıyorum! Beni bloke alırsınız: Burada

+0

Yani dizede c ve b görmezden istiyor? – Hackerdarshi

+0

Dönüştürme giriş ve çıkışını açıklar mısınız? – MackTank

+0

Birden çok kez görünen harflere sayı vermek ve diğerlerini "ac13A45b" içinde "acaAAb" şeklinde – Nihil

cevap

0

\:

for (int j = -1; (j = res.indexOf(str, j + 1)) != -1;){ 
    resSplit[i] = resSplit[i] + (j+1); 
} 

evet, o zaman sadece numarayı eklerseniz (j+1) 0'dan büyük olup olmadığını kontrol edebilirsiniz.

örn:

for (int j = -1; (j = res.indexOf(str, j + 1)) != -1;){ 
    resSplit[i] = resSplit[i] + ((j+1)>0 ? j+1 : ""); 
} 
+0

resSplit [i] + ((j + 1)> 0) bana bir hata veriyor: Dize'den boolean'a dönüştürülemiyor – Nihil

+0

Hala "acAAb" verirsem değişmedi. acA34b yerine "a1c2A34A34b5" 'ye dönüştürür: c – Nihil

+0

En azından bana "?:" şeylerini öğrettin, teşekkürler c: – Nihil

İlgili konular