KONU ANLATIMLARA YÖNELİK SORU-CEVAP

 

Selamlar,

Bu yazım bilgi saklanması ve constructorlara yönelik kişisel soruların cevaplarını ve Java program kod soru-cevapları içeriyor. Soruları ve cevapları incelemek için sayfayı aşağı doğru kaydırabilirsiniz.

 

KİŞİSEL SORULARIN CEVAPLARI

1-) Sınıf, aynı cins nesnelerin genel tanımıdır. Örneğin aslan bir kedi cinsidir ve kedi de hayvandır. Burada hayvan sınıf olarak belirtilebilir. Metot ise sınıfın içerisinde yer alır ve kendisine verilen işlevleri yerine getirir. Örneğin robot sınıfımız olsun ve bu robotun kol, bacak, kafa vb. işlevleri olan ayrı ayrı metotları olsun. İşte burada kol, bacak vb. işlevler metot olarak tanımlanabilir ve robotun işlevlerini yerine getirir.

2-) Bir sınıf içerisinde yer alan değişkenler ve metotlara, o sınıfın üyeleri denir. Bununla birlikte değişkenlere gerçekleştirme değişkenleri (instance variables) denilir.

3-) Bir nesne oluşturulurken özel bir metot olan constructor (nesne kurucusu) kullanılır. Constructor’ı çağırırken new komutunu kullanırız. Bu şekilde Java bellekte bu nesne için bir yer ayırır.

4-) Void metot tanımları, değer döndüren metot tanımları ve parametreli (veri alan) metotlar olarak görünebilirler.

5-) Metot başlığında yer alan public ifadesi, metodun her isteyen tarafından kullanılabileceği anlamına gelir.

6-) Örneğin bir sınıfın içerisinde global olarak tanımladığımız değişkeni veya metodu kullanmak istiyorsak this parametresini kullanarak da erişebiliriz.

7-) Yerel değişkenler bir metodun içerisinde tanımlandıklarında sadece o metot tarafından kullanılabilir. Başka bir metot da aynı isimde bir değişken tanımlasak bile isim olarak aynı olan değişkenler aslında farklı değişkenlerdir.

😎  Nesnesel tasarımda parametreler ve değişkenlerin sadece istenilen durumlarda kullanılması ve buna bağlı olarakta programın ayrıntılarının saklanmasına bilgi saklama veya kuşatma denilir.

9-) Public olarak tanımladığımız değişken veya metotlara başka sınıflar ve programlar istediği zaman erişebilirler. Private olarak tanımladığımız değişken veya metotlara ise sadece kendi sınıfı içerisinde yer alan metotlar erişebilir.

10-) Bir değişkenin bellekteki adresinin gösterimine referans denir.

11-) Java’da metotlara giren basit temel veri türü ile tanımlanmış değişkenlerin kendisi değil aldığı değerler metoda gönderilir. Bu şekilde değişkenin orijinal değeri metodun içerisinde değişmemiş olur. Yani bu durumda metot çağrılırken değişkenin bellekteki değerinin bir kopyası çıkartılıp metoda gönderilir. Böylece bellekte değişkenin orijinal değeri değişmemiş olur. Bir değişkenin bellekteki adresinin gösterilmesine referans diyebiliriz.

Eğer metoda giren veri türü temel veri türünden biri değilse, o zaman metoda değişkenin kendisi gönderilmiş olur, yani değişkenin bellekteki adresi gönderilir. Bu durumda metot içinde yapılan işlemler, verilen bellek adresi üzerinden nesneyi(değişkeni) değiştirecektir. Buna da referans ile çağırma (call-by-reference) denir.

 

JAVA PROGRAMLAMA SORU-CEVAP

SORU-1-)

Üçgen alanı hesaplamada kullanılan Heron formülü aşağıdaki gibidir.

Math.sqrt(s * (s – a) * (s – b) * (s – c))   ,    s = (a + b + c) / 2

Bir üçgenin kenarlarını okuyan, alanını hesaplayan ve yazdıran, alan isimli bir metot yazın.

Ana programınız sadece metot çağırma işlemi yapacaktır.

 

CEVAP-1-)

 

SORU-2-)

Her 15 öğrencinin 3 testten aldığı notların ortalamasını hesaplayan, ortalama isimli bir metot oluşturun. Ayrıca eğer öğrencilerin test ortalaması 65’i geçiyorsa “GEÇTİ”, geçmiyorsa “KALDI” mesajını veren, mesaj isimli bir metot oluşturun. Ana programınız test sonuçlarını girecek ve sadece “GEÇTİ” veya “KALDI” mesajını yazdıracaktır.

                                     ORTALAMA = 0.30 * TEST1 + 0.30 * TEST2 + 0.40 * TEST3

CEVAP-2-)

 

SORU-3-)

Dört tamsayı okuyan (x1, x2, x3, x4) ve aşağıdaki formüle göre iki nokta arası uzaklığı bulan, uzaklık isimli bir metot yazınız. Ana programınız sadece metodu çağırsın ve bütün okuma, hesaplama ve yazdırma işlemlerini metot yapsın.

UZAKLIK = Math.sqrt(Math.pow(x2 – x1, 2) + Math.pow(y2 – y1, 2))

 

CEVAP-3-)

 

SORU-4-)

Bilgisayara girilen iki tamsayının, A, B (A≤B) faktöriyel hesabını aşağıdaki formülü dikkate alarak yapan bir Java programı yazınız. Faktöriyel hesabını factor isimli bir metot yapacak. Ana programınız tam sayıları okuyacaktır.

                                N! / (M! * (N-M)! )

CEVAP-4-)

 

SORU-5-)

PTT mektuplarınızı gönderirken şöyle bir fiyat politikası izliyor: Mektubunuz eğer 150 gram ve altındaysa 3TL ödemenizi, eğer daha fazlaysa her 25 gram için 50 kuruş daha fazla ödemenizi istiyor. Sadece hesaplamayı yapacak, masraf isimli bir metot yazacaksınız. Ana programınız mektup ağırlığını okuyacaktır.

 

CEVAP-5-)

 

SORU-6-)

Bir elektrik şirketi, elektrik kullanımında şöyle bir fiyat politikası izlemektedir.

Elektrik saat ücreti: 3TL (kilowatt/saat)

Şirket her sezon için bir indirim uygulamaktadır. Yaz(1) için %10, Bahar(2) için %1, Kış(3) için %0 ve Sonbahar(4) için %7.

Ücret hesaplanırken müşterilerin elektrik sayaçlarına bakılmaktadır. Eski okunan ve yeni okunan bir değer vardır. Aradaki değer (net) müşterilerin toplam elektrik kullanım saatini verir. İndirimlerde bu toplam değer üzerinden hesaplanır. Müşterilerin adresine gelen faturada normal kullanım ücretinden indirimler düşülür.

Sezona girildiğinde müşteri faturasını hesaplayacak bir Java programı yazınız. Ana programınız girdileri okuyacak ve sonucu yazdıracaktır. Hesaplama işlemini musteriHesap isimli bir metot yapmalıdır. Programınız üç girişten sonra sona ermelidir.

 

CEVAP-6-)

 

SORU-7-) Öğrenci bilgilerini ve notlarını almaya yarayan bir program yazılacaktır. Buna göre Ogrenci sınıfı private olarak aşağıdaki alanları/verileri içerecektir:

String isim;

int ogrenciNo;

double vizeNotu;

double projeNotu;

double finalNotu;

Bütün bu alanlara erişim ve değişim için set() ve get() metotları yazılacaktır. Diğer yandan bir notHesapla() programı ile aşağıdaki oranlara göre öğrencinin notu hesaplanacak ve geri gönderilecektir:

Genel not = %40 Final + %35 Proje + %25 Vize

notHesapla()’nın döndürdüğü değeri girdi olarak alan harfNotuCevir() metodu ile not uygun harfe çevrilerek isim ve öğrenci numarası bilgileriyle beraber ekrana yazılacaktır.

  • AA => 90-100
  • BA => 85-89
  • BB => 75-84
  • CB => 70-74
  • CC => 60-69
  • DC => 55-69
  • DD => 50-54
  • FF => 0-49

 

Ogrenci sınıfını test etmek amacıyla OgrenciTest sınıfı yazılacak ve main() metodu burada bulunacaktır. Buna göre main() metodunda bir döngü içerisinde her seferinde bir öğrencinin bilgileri ve notları girilecek ve bu bilgilere uygun notu ekrana yazılacaktır.

İpucu:

  1. notHesapla() ve harfNotuCevir() metotları Ogrenci sınıfı içerisinde tanımlanacak fakat OgrenciTest sınıfındaki main() metodundan çağrılacaktır.
  2. harfNotuCevir() metodu için if-else ya da switch koşullarından yaralanılabilir.

 

CEVAP-7-)

 

Bütün soruların çözümü bana aittir. Herhangi bir yanlışlık veya hata aldığınızda yorum yapabilir ya da bana ulaşabilirsiniz. Sevgiler saygılar…

 

 

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.