Nesne Yönelimli Programlamaya Giriş Dersi Laboratuvar uygulamaları

Akademik, Moodle, java İlk Yorumu sen yap»

Nesne Yönelimli Programlamaya Giriş dersinin laboratuvar uygulamaları internet üzerinden moodle ile http://moodle.kou.edu.tr sitesinden üzerinden yapılmaktadır.

Nesne Yönelimli Programlamaya Giriş (Bilgisayar Bölümü) laboratuvar uygulamalarında karşılaştığımız en sık problemler ve çözümlerinden bir kısmı aşağıdaki gibidir :

NOT:
Aşağıdaki çözümler bazı durumlar için doğru olmayabilir fakat en sık
karşılaştığımız problemler ve çözümleri aşağıdaki gibidir.
Örneğin ; expected hatası her zaman bir üst satırda eksik olması ile ilgili olmayabilir.

  • class adı verilirken arada boÅŸluk bulunmaz.
    Örnek
    class Fatura Tutari —-> YANLIÅž
    class FaturaTutari —–> DOÄžRU
  • class ismi ile dosya ismi aynı olmalıdır.
    FaturaTutari.java Dosyasındaki class adı class FaturaTutari şeklinde olmalıdır.
  • Oku komutu kullanılırken Oku ‘nun İlk harfi büyük yazılır.
    Kullanım şekli:

Oku.intSayi();

dikkat edilirse ilk harfler büyük yazılmıştır.

  • ; expected Hatası ise ; eksikliÄŸinden kaynaklanan hatadır. dolayısıyla ; karekterinin kullanılması gerektiÄŸini belirtmektedir ve bir üst satır kontrol edilmelidir.
    Örneğin
    bu hatayı 8. satırda verdiyse Compiler 7. satırda eksik olduğu vurgulanmaktadır. 7. satır kontrol edilmelidir.
  • public static void main( String args[] ); —–> YANLIÅž
    Sonunda ; olmaz.
    public static void main( String args[] ) —–> DOÄžRU
  • cannot find symbol variable x hatası,
    x isimli bir değişkeni daha önce tanımlaMAdan kullanılmaya çalışılmış.Örneğin :
    x = 5; //YANLIŞ .. x nerede tanımlandı ? tipi nedir ?
    float x = 50f; // DOĞRU x float olarak tanımlandı.
  • variable x might not have been initialized hatası,(ilk deÄŸer ataması deÄŸiÅŸken tanımlandığında yapılmamıştır.)
    deÄŸiÅŸken
    tanımlaması yapılmış ve değişken tanımlandığında herhangi bir değer
    atanmamış fakat değişkene hiçbir değer ataması yapılmamasına rağmen
    değişken kullanılmaya çalışılmış.
    Örneğin:
    int x;
    int sonuc = x * 2; //YANLIŞ.. neyin iki katını almaya çalışıyorsunuz?x değeri belli değil.
    int x = 5;
    int sonuc = x * 2; //DOĞRU .. x değeri 5 olduğuna göre 5 in karesini al.
  • possible loss of precision (hassasiyet kaybı).
    Değişken tipleri birbirleriyle uyumlu olmalıdır
    ve değişkenlere değer atamada tip uyumluluğu sağlanmalıdır.
    Float bir değer int bir değere atanmaya çalışılırsa bu hata verilir.
    örnek =>
    int x,y;
    short z;
    z=x+y; ====> YANLIŞ ( çünkü z değişkeni short tipinde olduğundan
    yalnız short değişken atanabilir.)int x,y;
    int z;
    z=x+y; ====> DOÄžRU ( z deÄŸiÅŸkenide int tipinde olduÄŸundan atama
    iÅŸlemi doÄŸrudur.)
  • Float tanımlamalarda sayılar 10.05 deÄŸil 10.05f ÅŸeklinde kullanılır.
    Sonundaki f değeri sayının bir float olduğunu gösteriyor.Eğer f koymazsanız bu bir double değerdir.
    float sayi1 = 10,05; ====> YANLIÅž
    float sayi1 = 10.05f; ====> DOÄžRU
  • public static void main() ifadesinden sonra { kullanılmalıdır.
  • karakter tanımlamaları ‘a’ ÅŸeklinde yapılır.
    “a” ile tanımlanan bir karakter deÄŸildir, bir string deÄŸerdir. Karakter tanımlamak istiyorsanız ‘ ‘ kullanın.
  • VEYA yazmak istiyorsanız klavyeden Alt GR tuÅŸu ile birlikte < > tuÅŸuna basın. Sonuçta || ÅŸunları elde etmelisiniz. // \ gibi ifadeler veya anlamına gelmez.
  • for(i=0;i<100;i++); for döngüsünden sonra ; kullanılmaz.
    Döngünün doğrusu :
    for ( i=0; i<100 ; i++ ) {
    }//for i
    Eğer her bir { parantezin bittiği yere } açıklama olarak komutun başlangıcını yazarsanız yanlışlık yapmanızı engellersiniz.

Örneğin :

do{
for ( i=0; i< 100 ;i++)
{
for ( j=0; j<100 ; j++)
{
System.out.println(i+” “+j+” ” );
}//for j
}//for i
}while( cevap == ‘E’ ||cevap==’e’ );
BU şekilde yazdığınızda hangi for döngüsü nerede bitiyor belli olur.

  • == ifadesi karşılaÅŸtırmalarda kullanılır. = ifadesi atamada kullanılır.
    while ( cevap =’e’ ) derseniz cevap deÄŸiÅŸkenine e deÄŸerini atarsınız.Kontrol yapmış olmazsınız.
  • Exception in thread “main” java.util.NoSuchElementException
    at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
    at Oku.intSayi(Oku.java:19)
    at karsilik.main(karsilik.java:11)

cevap=Oku.charDeger();
ile bir karakter okunur. Fakat klavyeden girilirken enter tuÅŸuna
basılır. Girilen değer cevap değişkenine atanır fakat ENTER tuşu bir
sonraki a=Oku.intSayi(); değerine gider ve hiçbir sayı girilmeden
enter’a basılmış olur. Bu nedenle yukarıdaki hata verilir. Bu hatanın
çözümü için enter tuşunun temizlenmesi gerekir.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS GiriÅŸ