lostyazilim
tr.link

Java ile tekrar eden harf

3 Mesajlar 3.691 Okunma
lstbozum
tr.link

Elysion59 Elysion59 WM Aracı Kullanıcı
  • Üyelik 02.11.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum İstanbul Avrupa
  • Ad Soyad U** P**
  • Mesajlar 20
  • Beğeniler 5 / 2
  • Ticaret 0, (%0)
Merhaba öncelikle,
Bir süredir java geliştirmeye ara vermiştim şimdi basit bir soru çözeyim derken öyle bir takıldım ki algoritmasını kuramadım.
Soru şu;

Verilen bir string değerinin içerdiği tüm farklı karakterlerin, bu string içerisinde yalnızca bir kere bulunup bulunmadığını bulunuz.
uniq("door") => false, uniq("gate") => true

int counter = 0;
for (int i = 0; i < string.length(); i++) {
for (int j = j; j < string.length(); j++) {
if (string.charAt(i) == string.charAt(j)) {
counter++;
}
}
}

if (counter > 0) {
System.out.println("False");
} else {
System.out.println("True");
}


Bu şekilde bir algoritma geliştirdim ama pek başarılı olmadı hep if bloğuna giriyor.
 

 

wmaraci
reklam

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 23 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
İkinci for döngüsünde tekrar uzunluk almak yerine i değişkenini çekmeniz gerekiyor ve J değişkenine J değerini verirseniz hata alırsınız çünkü değişken sadece oluşturulduğunda henüz bir değere sahip olmuyor sonuç olarak olmayan değeri atayamıyoruz.

int counter = 0;
String test = "sa";

for (int i = 0; i < test.length(); i++) {

for (int j = 0; j < i; j++) {
if (test.charAt(i) == test.charAt(j)) {
counter++;
}
}

}

if (counter > 0) {
System.out.println("False");
} else {
System.out.println("True");

}
 

 

forces forces WM Aracı Kullanıcı
  • Üyelik 23.01.2016
  • Yaş/Cinsiyet 45 / E
  • Meslek bilgisayar mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad M** E**
  • Mesajlar 1366
  • Beğeniler 9 / 379
  • Ticaret 0, (%0)
şu kodu kullanabilirsiniz

class SubString
{
/* Returns count of occurrences of s in arr[] */
static int search(String[]arr, String s)
{
int counter = 0;
for (int j = 0; j < arr.length; j++)

/* checking if string given in query is
present in the given string. If present,
increase times*/
if (s.equals(arr[j]))
counter++;

return counter;
}

static void answerQueries(String[] arr, String q[])
{
for (int i=0;i System.out.print(search(arr, q[i]) + " ");
}

/* driver code*/
public static void main(String[] args) {

String[] arr = {"aba","baba","aba","xzxb"};
String[] q = {"aba","xzxb","ab"};
answerQueries(arr, q);
}
}
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al