Skip to content

kodluyoruz-java-101-31102020-odevler/hafta-1-javabasics-oop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Ödev Soruları

Not: Tüm soruları tek bir Java projesi içinde çözüp gönderebilirsiniz.

Açıklama1: Soruların her biri ayrı ayrı algoritmaları ifade eder. Algoritma dediğimiz kavram bilgisayar programcılığı için çok önemli bir konudur. Algoritma düşünce sistematiğini geliştirmeyen bir yazılımcı yazılım kütüphanelerini, programlama dillerini öğrenerek iyi bir programcı olma yolunda çok ileriye gidemez.

Açıklama2: Bu önemine istinaden ekstra algoritma ödevleriyle bu sizlerin bu yönünü geliştirmek hedefindeyiz.

Açıklama3: Verilen soruları Java dilinde kodlamanızı rica ediyorum. Ayrıca, hazır çözümler kullanmadan herkesin bireysel kodlamalasını rica ediyorum. Yardımlaşma için birbirinizden ve benden yardım alabilirsiniz. Tek şart copy-paste kodlar lütfen olmasın :) Sizin gelişiminiz için bu çok önemlidir.

Açıklama4: Ödev sorularını yaparken takıldığınız yerlerde Google'da aramalar yaparak yardım alabilirsiniz. Unutmayın Google en büyük yardımcınız :)

#Sorular

Soru1: String tipinde sabit bir şifre değişkeni oluşturun. Örneğin: String password = "12345"; gibi. Ardından, kullanıcıdan klavyeden bir şifre girmesini isteyin. Girilen şifre ile değişkende tuttuğunuz değeri kıyaslayın. Eğer, iki değer birbirine eşitse ekrana "Giriş Başarılı!", değilse "Giriş Başarısız" yazdırın.

Soru2: Kullanıcının konsol ekrandan 4 temel matematiksel işlemi yapabildiği bir program yazmanız bekleniyor. Program aşağıdaki özellikleri sağlamalıdır.

  • Yapılabilecek temel işlemler: Toplama, Çıkarma, Çarpma, Bölme
  • Kullanıcıya 4 işlemden birini seçeceği menüyü konsol ekrana yazdırın. Örneğin: 1-Toplama, 2-Çıkarma vb...
  • Ardından kullanıcıdan 2 adet tamsayı tipinde sayı girmesini isteyin. Bu girilen iki sayıyı değişkenlerde saklayın.
  • Seçilen işlem tipine göre matematiksel işlemi yapın ve konsol ekranına yazdırın.

Soru3: Rastgele sayılardan oluşmuş 100 elemanlık tamsayı dizisindeki tüm elemanların ortalamasını alacak programı geliştirin. Programı yazarken aşağıdaki özelliklere uygun yazınız.

  • Rastgele oluşan 10 elemanlık sayı kümesi program yeniden her çalıştığında değişsin. Sabit elemanlı bir dizi vermeyin!
  • Ortalama almayı sağlayacak kodu bir fonksiyon halinde tasarlayın. İçine diziyi girdi (input) olarak alsın.
  • Ortalama alan fonksiyon ortalamayı ondalıklı sayı olarak döndürsün. (return) etsin.

Soru4: Aşağıdaki görüntüyü konsol ekranına yazdıran algoritmayı tasarlayınız.

Screen Shot 2020-03-03 at 00 37 53

Soru5: Rastgele sayılardan oluşan 100 elemanlık tamsayı dizisi oluşturun. Ardından tek ve çift sayıları bulan bir program yazın.

Soru6: PDFDocument isminde bir sınıf yaratın. Ardından, WordDocument isminde bir sınıf tasarlayın. Bu iki sınıf içinde String body = ""; isminde bir tane nesne değişkeni tanımlayın. Tanımlanan bu "body" isimli değişkeninin tutacağı veriyi kurucu metot vasıtasıyla gönderin. Sınıfın içinde "body" değişkenine ait değeri dışarıya döndürecek "getBody" isimli bir metot yazın.

Yukarıdaki işlemlerin ardından Printer isminde bir sınıf tanımlayın. "printPDFDocument" isminde PDF dokümanına ait "body" bilgisini konsol ekrana yazdıran bir metot tanımlayın. Aynı şekilde "printWordDocument" isminde Word dokümanını konsol ekrana yazdıran bir metot tanımlayın. Bu metotları "static" tanımlamanız gerekmektedir.

Ardından main fonksiyonu içinde PDFDocument ve WordDocument nesneleri oluşturun. Bu nesnelere ait body bilgisini ekrana yazdırmak için "Printer" sınıfının metotlarını kullanın.

Not: Print sınıfı içinde niçin statik metot kullandığımızı kısaca açıklayın.

Soru7:

Aşağıda yer alan sınıfları Java koduyla tasarlayınız. Katılım mantığını da kullanın.

Screen Shot 2020-11-10 at 22 24 50

Bu bir sınav değildir! Sloganımız ==> Geliştirmek için kodluyoruz ... :))

About

Hafta-1 Java Temelleri ve Nesne Yönelimli Programlama

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published