İçindekiler:
- NoClassDefFoundError
- NoSuchMethodError
- Sembolü Çözemezsiniz
- Beklenen '; '(Veya Başka Bir Şey Bekliyor)
- Eksik Yöntem Vücut Veya Soyut Beyanname
- 'if' olmayan bir 'else'
- Statik Olmayan Değişken, Statik Bir Bağlamdan Alınamıyor
- FileNotFoundException (Sistem Belirtilen Dosyayı Bulamıyor) veya EOFException
Video: Javada Tek Başına Uzmanlaşma 2024
Bazen hata mesajları, en cesur programcının bile kalbine korku salabilir. Neyse ki, bazı yararlı, sakinleştirici tavsiyeler burada - bu mesajlardan birini gördüğünüzde sorunu çözmenize yardımcı olacak tavsiyeler.
NoClassDefFoundError
Kodunuzu çalıştırmaya çalışırken bu hatayı alırsınız. Önce kendinize sorun, kodu derlemeye mi çalıştınız? Öyleyse, derlediğinizde herhangi bir hata mesajı gördünüz mü? Hata mesajlarını gördüyseniz, düzeltebileceğiniz şeyleri arayın. java dosyası. Bu şeyleri düzeltmeye çalışın ve sonra derleyin. java dosyası tekrar.
Normalde JavaPrograms dizininde kod tutarsanız, bu JavaPrograms dizininde hala çalıştığınızdan emin olun. (Windows'ta, komut isteminde JavaPrograms yazan olduğundan emin olun.)
Uygun şekilde adlandırılmış bir yazılıma sahip olduğunuzdan emin olun. çalışma dizininizde sınıf dosyası. Örneğin, MyGreatProg adlı bir programı çalıştırmayı deniyorsanız, MyGreatProg adlı bir dosyaya bakın. Sınıfınızı çalışma dizininizde.
Classpath'inizin içeriginden emin olmak için sınıf yolunuzu kontrol edin. İhtiyacınız olan birinci sınıf bir dosya. Örneğin, tüm Java kodunuz çalışma dizininizde bulunuyorsa, sınıf yolunun bir nokta içerdiğinden emin olun.
NoSuchMethodError
Bu hata iletisiyle karşılaştığınızda, bir yöntem adının yanlış yazılmış veya tutarsız büyük harf kullanımını kontrol edin. Main (ana değil) büyük harf kullanımını kontrol edin.
java komutunu gönderirken (veya ortamınızda bir programı çalıştırmak için normalde ne yaparsanız yapın), çalıştırmaya çalıştığınız sınıf kendi ana yöntemini içeriyor mu? Değilse, sınıfı ana yöntemle bulun ve bunun yerine bu sınıfı çalıştırın.
Sembolü Çözemezsiniz
Sembolü çözümleyemeyen bir hata mesajı alırsanız, tüm tanımlayıcıların ve anahtar kelimelerin yazım denetimi ve büyük harf kullanımını kontrol edin. Sonra tekrar kontrol et.
Çözülmemiş sembol bir değişken ise, bu değişkenin bildiriminin doğru yerde olduğundan emin olun. Örneğin, değişken bir for döngüsünün başlatılması sırasında bildirilirse, for döngüsünün dışında bu değişkeni kullanmaya çalışıyor musunuz? Değişken bir bloğun içinde (çift parantez çifti) bildirilirse, o bloğu bloğun dışında kullanmaya mı çalışıyorsunuz?
Son olarak, değişken bildirimindeki hataları arayın. Derleyici bir değişkenin bildiriminde hatalar bulursa, derleyici bu değişkenin adını kodun kalan kısmında çözümleyemez.
Beklenen '; '(Veya Başka Bir Şey Bekliyor)
' yazan bir hata mesajı gördüğünüzde; 'beklediğinizde, kodunuzu inceleyin ve her bildirimin ve her bildirimin bir noktalı virgülle bittiğinden emin olun.Eğer öyleyse, o zaman belki derleyicinin eksik bir noktalı virgül ile ilgili tahmin yanlış. Bir başka (görünüşte ilgisiz) hata düzeltmek ve kodunuzu yeniden derlemek sahte bir şeyden kurtulabilir '; 'beklenen mesaj.
Eksik bir parantez için if ifadelerinin ve döngülerin koşullarını kontrol edin. Her koşulun parantez içine alınmasını sağlayın. Ayrıca, bir parametre listesinin (parantez içine alınmış) her bir yöntemin adını takip ettiğinden emin olun.
Beklenen bir mesaj için, atama ifadelerinizi kontrol edin. Her atama ifadesinin bir yöntemin içinde olduğundan emin olun. (Unutmayın, başlatma ile birlikte bir bildirim bir yöntemin dışında olabilir, ancak her düz eski atama ifadesi bir yöntemin içinde olmalıdır.
'Sınıf' veya 'arabirim' beklenen iletisi için, kelime sınıfı doğru. Kodunuzda bir içe aktarma bildirimi varsa, içe aktarma sözcüğünün yazım denetimini ve büyük harf kullanımını kontrol edin.
Eksik Yöntem Vücut Veya Soyut Beyanname
Derleyici metni üstbilgiyi görürse, derleyici yöntemin gövdesini bulamazsa, eksik bir yöntem gövdesi elde etmiş veya soyut ileti beyan ettiniz. Metodun başlığının sonuna bak. Üstbilgiyi noktalı virgülle bitirdiyseniz, noktalı virgülü kaldırmayı deneyin.
Üstbilgi noktalı virgül ile bitmezse, başlığın hemen ardından kodu kontrol edin. Başlığın hemen arkasındaki kod, açık bir kaşlı ayraçla (bir yöntem gövdesinin başında) başlamalıdır. Başlık ve vücut açık kıvırcık ayraç arasında bir kod gelirse, o kodu başka bir yere taşımayı düşünün.
'if' olmayan bir 'else'
if cümlelerinin sayısını else cümlelerinin sayısıyla karşılaştırın. Bir if yan tümcesinin bir else yan tümcesi olması gerekmez; ancak her else yan tümcesi bir if yan tümcesine ait olmalıdır.
Parantez içine bir if koşulunu eklediğinizi, ancak koşulun ardından noktalı virgül koymadığınızı unutmayın. If koşulunu noktalı virgülle yanlışlıkla sona erdin mi?
İf ile diğerinin arasındaki tüm çizgilere bakın. Bir if ve başka arasındaki birkaç ifadeyi bulduğunuzda, parantez parantez arayın. If ve diğerleri arasındaki ifadeler kıvrımlı parantezlerle çevrilmezse, suçluyu bulmuş olabilirsiniz.
Statik Olmayan Değişken, Statik Bir Bağlamdan Alınamıyor
Pek çok şey statik olmayan bir değişkeni verebilir; statik bir bağlam hata mesajından referans alınamaz. Ancak başlangıç programcıları için en yaygın neden ana yöntemin dışında bildirilen bir değişkene sahip olmaktır. Böyle bir değişkeni ilan etmek günah değildir, ancak ana yöntem her zaman statiktir, ana yöntemi main yönteminin dışında bildirilen bir değişkene atamak için bazı özel yardıma ihtiyacınız vardır.
En hızlı çözüm, değişkenin bildiriminin önüne stat kelimesini koymaktır. Ancak öncelikle, bu değişkenin bildiriminin neden ana yöntem içerisinde olmadığını kendinize sorun. Eğer iyi bir neden yoksa, değişkenin bildirimini ana yöntemin içinde olacak şekilde taşıyın.
FileNotFoundException (Sistem Belirtilen Dosyayı Bulamıyor) veya EOFException
Bir FileNotFoundException iletisi ile karşılaşırsanız, kodunuzda belirtilen dosyanın gerçekten var olup olmadığını kontrol edin.(Dosyayı sisteminizin gezgini aracını kullanarak veya komut istemi penceresini kullanarak arayın.) Kodunuzdaki yazım hatalarını, sabit sürücünüzdeki dosyanın adıyla tekrar kontrol edin.
Sabit diskinizde doğru adlandırılmış bir dosya bulduysanız, dosyanın doğru dizinde olduğundan emin olun. (Çalışma dizininizde çalışan bir program için, tipik bir veri dosyası da çalışma dizinindedir.
Windows kullanıcısıysanız, sistemin ekstra bir katkı sağlamadığından emin olun. Dosyayı oluşturduğunuzda txt uzantısı. (Dosya adını kontrol etmek için komut istemi penceresini kullanın.Windows Explorer,.txt uzantısını gizleyebilir ve bu da her zaman karışıklığa neden olur.)
EOFException için muhtemelen dosyanızın içindeki adresten daha fazla veri okumaya çalışıyorsunuzdur. dosya. Çoğu zaman, küçük bir mantık hatası programınızı bunu yapar. Bu nedenle, programınızın yürütülmesindeki tüm adımları dikkatle inceleyin. Düzgün başlatılmamış döngüler veya dizinin en büyük dizinini geçen dizi değerlerinin okunması gibi ince şeyleri arayın. Kullanacakları zaman