Skip to content

Code2Work/fullstack-backend-project-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basit Hesap Makinesi

Amaç

Java ile bir hesap makinesi yazacaksın. Calculator sınıfını tamamlayarak metod tanımlama, koşullu ifadeler, döngüler ve sabit boyutlu dizi konularını pekiştireceksin. (CalculatorApp hazır verildi — sınıfını bitirince çalıştırıp sonucu görürsün.) Tahmini süre: 2–3 saat.

Öğrenme Hedefleri

  • Metod tanımlama ve parametre geçişi
  • Koşullu ifadeler (if, switch)
  • Döngüler (while, for)
  • Sabit boyutlu dizi (String[]) ile veri tutma
  • Basit state yönetimi (FIFO geçmiş)

Başlamadan Önce

  • Java 17 veya üzeri kurulu olmalı (java -version).
  • IDE: IntelliJ IDEA (Community ücretsiz) veya VS Code + Java Extension Pack.
  • src/Calculator.java içindeki her // TODO'yu sırayla çöz.
  • CalculatorApp'i çalıştırarak sınıfını deneyebilirsin (hazır demo, değiştirme gerekmez).

Adım Adım Görevler

Calculator Sınıfı (src/Calculator.java)

  1. add (TODO 1–3): a + b'yi hesapla, addHistory ile "a + b = sonuç" kaydet, sonucu döndür.
  2. subtract (TODO 4–6): Aynı pattern, çıkarma.
  3. multiply (TODO 7–9): Aynı pattern, çarpma.
  4. divide (TODO 10–13): b == 0 ise ekrana "Sıfıra bölme yapılamaz!" yaz ve 0 döndür (geçmişe ekleme). Değilse böl, geçmişe ekle, döndür.
  5. addHistory (TODO 14–15): Dizi dolmamışsa doğrudan ekle. Doluysa FIFO: hepsini bir sola kaydır, sona yaz.
  6. printHistory (TODO 16–17): Boşsa bilgi mesajı; değilse 1. ..., 2. ... biçiminde listele.

💡 HISTORY_SIZE değeri tanımlı — onu kullan, koda 10 yazma. FIFO kaydırma: for (int i = 1; i < history.length; i++) history[i-1] = history[i]; Geçmiş formatı tutarlı olsun: "5.0 + 3.0 = 8.0".

CalculatorApp (hazır)

src/CalculatorApp.java hazır bir demo — birkaç işlem yapıp sonuçları ve geçmişi ekrana yazar. Sen bir şey yazmazsın; Calculator'ı bitirince çalıştır, metodlarının çalıştığını gör.

Örnek Çalışma

CalculatorApp'i çalıştırınca (sınıf tamamlandığında) şuna benzer bir çıktı görürsün:

=== Basit Hesap Makinesi (Demo) ===

5 + 3  = 8.0
10 - 4 = 6.0
6 * 7  = 42.0
8 / 2  = 4.0

Sıfıra bölme denemesi:
Sıfıra bölme yapılamaz!

--- İşlem Geçmişi ---
1) 5.0 + 3.0 = 8.0
2) 10.0 - 4.0 = 6.0
3) 6.0 * 7.0 = 42.0
4) 8.0 / 2.0 = 4.0

Testler ve Skor

Projede 12 JUnit testi var (tests/CalculatorTest.java — sıfıra bölme, FIFO geçmiş, kapasite korunması). Testleri çalıştırınca skorun otomatik Kaizu paneline işlenir — ayrı bir "tamamladım" adımı yok.

1. Öğrenci numaranı gir. student_id.txt dosyasını aç, 123456'yı sil, Kaizu'daki öğrenci numaranı yaz, kaydet. (Bir kez yaparsın.)

2. Testleri çalıştır.

  • macOS / Linux: ./run-tests.sh
  • Windows: .\run-tests.ps1

İlk çalıştırmada JUnit kütüphanesi (~6 MB) lib/'e otomatik iner. Başlangıçta testler kırmızıdır; TODO'ları çözdükçe yeşile döner.

3. Skor otomatik gider. Testler bitince çıktının sonunda görürsün:

[Kaizu] ✅ Skorun (100/100) kaydedildi. Panelde tik birazdan görünür.

Tüm testler geçince (100/100) panelde yeşil tik gelir.

Skor için testleri run-tests.sh ile çalıştır (tüm testleri koşar). IDE'de tek bir testi çalıştırmak geliştirme/hata ayıklama içindir, panele işlemez.

Bonus (Opsiyonel)

  • ^ üs alma: Math.pow(a, b).
  • Mod işlemi: % operatörü.
  • Geçmişi dosyaya kaydet (dosya I/O ileride gelecek).

Çözüm

Takılırsan proje sayfasındaki "Çözümü Göster" butonunu kullan (proje verildikten 3 gün sonra açılır). Ama önce en az 1 saat kendin uğraş — tests/CalculatorTest.java en iyi ipucu.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors