Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Java Sorunlarım


mortheria

Öne çıkan mesajlar

Uzun sayıları toplayan program yazıyorum javada kağıt kalemle yaptığımız işlemleri anlatmaya çalışıyorum javaya
adımlar:
girilen sayıların soluna aynı uzunluğa gelene kadar 0 koy.Her turlu bi tane ver ki yeni basamak çıkıcaksa sorun olmasın.
En sağdaki rakamları topla toplam 10 u geçerse soldaki 1 artır, artırdıgı rakam 10 olursa veya gecerse onun solundakini artır.
Her toplama da sonucu bi string e topluyorum en sonda onu tersten basıyorum islem sonucu diye.

Şimdi bu 99 + 1 de patlıyor program hem de index out of range diye, neden anlamıyorum.
88 + 44 niye öyle bişey olmuyor sorun arka arkaya 2 basamağın artmasıysa ya da 9 + 1 de niye sorun yok eger yeni basamak olusturmak sıkıntıysa.

big integer, array falan yasak.O yüzden charAt le yapıyorum.Sorun nerde olabilir?
Link to comment
Sosyal ağlarda paylaş

Şimdi derdim şuymuş 189 + 21 diyelim 9+1 = 10 o zaman 8i 9 yapıyım sonra devam edeyim diyodum toplamaya 9 + 2 diye ki aslında hiç öyle yapmadan 8 + 2 + elde(varsa 1 yoksa 0) diye devam etmek aynı şey.Eee ? tabilik bu mevzu kodlarken öyle olmuyor.

Her neyse sorun çözüldü çarpma da halloldu , sağolun yardım için
Link to comment
Sosyal ağlarda paylaş

Wishmaster said:

mortheria said:

Ya da şöyle sorayım, toplama işlemi yapıyorsunuz varsa eldeyi nasıl 1 sola kaydırırsınız

topladığım basamağı 10 modunda bırakırım. 17%10 = 7 gibi. Bir sol basamağa da +1 eklerim. Loop içinde yaparım hepsini. Ardarda soluna bakabilir bu şekilde.


17%10 da 7, 7%10 da 7 :)
Link to comment
Sosyal ağlarda paylaş

  • 4 hafta sonra ...
Pek Java ile alakası yok ama,
SICP baya övülen bi kaynakmış bende okuyup anlamaya çalışsam mı diyorum ama kitap yazarları MIT de artık olay böyle değil diye falan intro. olarak anlatmayı bırakmışlar.
Şimdi internet her türlü faydalı buluyor bu kitabı CS meraklasına fakat bazıları önce diğer dillerde biraz tecrübe edinip sonra okunmalı diyor.
Ben ki 4~ aylık java, python bilgimle başlasam mı?Yoksa iyice Java devam edip ilerde mi baksam bilemedim var mı aramızda okuyan ?
Link to comment
Sosyal ağlarda paylaş

mortheria said:

Pek Java ile alakası yok ama,
SICP baya övülen bi kaynakmış bende okuyup anlamaya çalışsam mı diyorum ama kitap yazarları MIT de artık olay böyle değil diye falan intro. olarak anlatmayı bırakmışlar.
Şimdi internet her türlü faydalı buluyor bu kitabı CS meraklasına fakat bazıları önce diğer dillerde biraz tecrübe edinip sonra okunmalı diyor.
Ben ki 4~ aylık java, python bilgimle başlasam mı?Yoksa iyice Java devam edip ilerde mi baksam bilemedim var mı aramızda okuyan ?


code complete oku.
Link to comment
Sosyal ağlarda paylaş

Valla böylesine öneme sahip bi kitabı okumayı ben de çok isterdim ama şahsen o kadar sabrım yok sanırım. Gözüm öncelikle şunda: https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming

Ama pek low-level programlama teorisi sevmeyen biri olarak hevesimi daha çok fonksiyonel programlama ve ondan türeyen high-level metodolojileri takip ederek gidermeye çalışıyorum. Bi şeyler okuyup izleyip dinledikçe o kadar eğleniyorum ki kendim de bi şeyler kurgulamaya ve yazmaya başlıyorum. Hatta bazen rüyalarıma giriyo veya duş alırken kafamda bunlar dönüp duruyo falan.

Bi yandan ben işin teorisiyle bu kadar eğlenirken, bi yandan da biçok alanda pratikte uygulanmaya başlamışken (big data'sında Spark'lar Hadoop'lar, front-end'de flux'lar react-redux'lar, back-end'de sayısız metodoloji, bankacılıkta CQRS, mesajlaşmada actor'ler, scalability için stateless microservice'ler vs vs vs) herkese hep onu tavsiye ediyorum.

Bu konularla alakalı olarak da wishlist'im şöyle
https://www.amazon.com/Introduction-Functional-Programming-Calculus-Mathematics/dp/0486478831/ref=pd_sim_14_1?_encoding=UTF8&psc=1&refRID=XPJ82JJHP96MBPHNK0HA
https://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504/ref=pd_sim_14_12?_encoding=UTF8&psc=1&refRID=BA7WA2HCAVTBAGB3843Q
https://www.amazon.com/Implementation-Functional-Programming-Prentice-Hall-International/dp/013453333X (fiyata dikkat, ama online olarak beleş sdf)
https://www.manning.com/books/akka-in-action
Link to comment
Sosyal ağlarda paylaş

@Kojiroh
Sağol öneriler için, TAOCP çok ağır dendiği ilerde bi denerim.Pratikte uygulanabilir olması güzel de olsa önemli değil benim için.
Akka yı pek anlamadım.

SICP daha CS odaklı durduğu için önce ona, daha sonra soft. dev. adına Code Complete/Clean Code bakmak mantıklı gibi.
CLRS de baya övülüyor okul alg. anlatırken bakmak daha mantıklı gibi.
Link to comment
Sosyal ağlarda paylaş

  • 4 hafta sonra ...
k
∑ D(i - 1)*D(k - i)
i=1

D(0) = 1

Bunu recursive hesaplayacak method yazmaya ugrasıyorum sorun her çağrıldığında yeni k üzerinden işlem yapmaya çalıştığından 1 den yeni k ya kadar çalışıyor.

kod


public static int D(int k)
{
int i = 0;
int ways = 0;

if (k == 0)
{
ways++;
return 1;
}
else
{
if (i <= k)
{
i++;
System.out.println("D(" + (i-1) + ") D(" + (k - i) + ")" + "ni:" + i + " k:" + k);
return ways + D(i - 1) * D(i - k);
}
return ways;
}
}



Toplama olayıda hic olmamış gibi, nasıl yapılır bu?
Link to comment
Sosyal ağlarda paylaş

mortheria said:


k
∑ D(i - 1)*D(k - i)
i=1

D(0) = 1
Bunu recursive hesaplayacak method yazmaya ugrasıyorum sorun her çağrıldığında yeni k üzerinden işlem yapmaya çalıştığından 1 den yeni k ya kadar çalışıyor.

kod


public static int D(int k)
{
int i = 0;
int ways = 0;

if (k == 0)
{
ways++;
return 1;
}
else
{
if (i <= k)
{
i++;
System.out.println("D(" + (i-1) + ") D(" + (k - i) + ")" + "ni:" + i + " k:" + k);
return ways + D(i - 1) * D(i - k);
}
return ways;
}
}



Toplama olayıda hic olmamış gibi, nasıl yapılır bu?




rekürsif kısımdaki return'de i-k yazmışsın, k-i olmayacak mı?

Bi de her yeni k (eski k-1 olmalı) ile çağırdığında 1'den yeni k ya kadar işlem yapması doğru. Rekürsif o demek zaten.
Link to comment
Sosyal ağlarda paylaş

  • 2 hafta sonra ...
@valthon evet k-i olmalıymış.

Hala stackoverlow falan yiyip duruyorum.Nasıl yapılır bu olay tekrarlayım, k input:
k
∑ D(i - 1)*D(k - i)
i=1

Base case: D(0) = 1

Bu aslında k tane operatoru olan islemi kac farklı sekilde parentezlenebileceğini veren formulmüş.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...