Member-only story

HackerRank — Java Currency Formatter

NumberFormat ve Locale kullanımı, Java Currency Formatter sorusunun çözümü

Ayşe Demirel Deniz
3 min readSep 24, 2024

HackerRank üzerindeki Java problemlerini çözüyoruz. Bu on üçüncü problem. Eğer diğer problem çözümlerini okumadıysanız önce onlara bakmanızı tavsiye ederim, hepsinin toplu hali:

Yazının devamını göremeyenler “bu linkten” erişebilirler.

Önce problemi anlayalım sonra da çözümüne geçelim. Problemi anlama kısmını okuduktan sonra problemi çözmeyi denemenizi sonra da buradaki çözümle karşılaştırmanızı şiddetle tavsiye ederim :)

Problemin linki 👇

Problemi anlayalım

Problemde verilen inputu farklı ülkelerin para birimlerinde göstermemiz isteniyor. Bu soruda sadece 4 ülke var ve ülkelerin para birimlerini yazarak printi sağlayabilirsiniz. Ama daha şık bir çözüm sağlayayım derseniz Locale ve NumberFormat sınıflarına bakmamız gerekir.

  • Locale, bir bölgeyi bir dili tarif ederken kullanabileceğimiz sabitler ve metodlar sağlar. Locale ile Hindistan bölgesini tanımlamayı şu şekilde yaparız:
 Locale INDIA_LOCALE = Locale.of("en", "IN");

Yukarıdaki yöntem Java 19'dan itibaren kullanılan. Eğer daha önceki sürümü kullacaksanız aşağıdakini kullanabilirsiniz, Java 19'dan sonra da kullanabilirsiniz ama deprecated durumda. HackerRank üzerindeki çözümlerde de aşağıdaki yöntem işe yarayacaktır (çünkü şuan için HackerRank üzerinde Java 7, 8 ve 15 var):

Locale INDIA_LOCALE = new Locale("en", "IN");

Locale sınıfı içerisinde bazı tanımlı bölgeler olsa da çoğu yok. Olmayan bölgeleri de yukarıdaki gibi tanımlayabiliyoruz.

  • NumberFormat, herhangi bir sayının…

--

--

Ayşe Demirel Deniz
Ayşe Demirel Deniz

Written by Ayşe Demirel Deniz

Highly motivated Software Engineer | Java & TS & JS | Everything about computer

No responses yet