2016-03-20 29 views
-1

ile özyinelemeli fonksiyon Önceden tanımlanmış olan prototype: int sumInd(char ch, String str) ile bir fonksiyonum var. Karakter d'nin String n içinde görüneceği dizinlerin toplamını döndüren özyinelemeli işlev oluşturmam gerekiyor.Önceden tanımlı prototip

Bu prototip ile mümkün mü, hayır, nasıl yapardınız? sizin için tüm çözüm yazmadan

+0

Bu gerçekten 'prototip' olarak adlandırıldı mı? – nekavally

+0

Yan nota: Java dilinde "prototip" yoktur. Öğrenme programlamanın bir kısmı, doğru terminolojiyi kullandığınızdan emin olmaktır. Tipik olarak insanlar, başkalarına mantıklı olmayan kelimeler kullanıyorsanız size yardımcı olamazlar ... – GhostCat

+0

@ Jägermeister Anladığım kadarıyla prototipler yok, ama daha önce oluşturmam gereken işlevleri tanımladım ve prototip dedim . Karışıklık için üzgünüm. –

cevap

0

, burada bazı tarifi:

belirtilen karakteri içeren endeksleri toplamı dize artı 0 ilk str.length - 1 karakterler ile bu karakteri içeren endekslerinin toplamına kırılabilir veya son karakterin verilen karaktere eşit olup olmadığına bağlı olarak str.length - 1 (son karakterin indeksi).

Geri kalan karakterler, orijinal Dize'de aynı dizine sahip olmaları için, her yinelenen aramadan önce dizenin son karakterini kaldırmak gerekir.

+0

[bir hata] düzeltmek için (http://bugs.java.com/view_bug.do?bug_id=6294060), String.subString '_copies_ temel diziyi yeni bir diziye; Bu, özyineli yaklaşımın korkunç performansa sahip olmasını sağlar. Doğrudan char [] 'kullanmıyorsanız. –

+0

@BoristheSpider İyi bir nokta, ama performansın bu alıştırmada bir zorunluluk olmadığını varsayıyorum. Aksi takdirde, özyineleme ilk etapta kullanılmayacaktır. – Eran

+0

@Eran Merhaba Eran, Cevabınız için teşekkürler. –

İlgili konular