Bir tanımlayıcı bekleniyor hata, yeni başlayanların karşılaştığı çok yaygın bir hatadır. Bu bölümde tartışacağız tanımlayıcı beklenen hata nedir , hataların oluşma nedenleri, Ve Java'da tanımlayıcı beklenen hatası nasıl düzeltilir? Hataya geçmeden önce ilk önce anlayacağız ne var Java'daki tanımlayıcılar .
Tanımlayıcılar Java'da tanımlama için kullanılan sembolik adlardır. Onlar bir olabilir sınıf adı, değişken adı, yöntem adı, paket adı, sabit ad , vb. Ancak, Java int, const, new, double, enum vb. gibi tanımlayıcı olarak kullanılamayan bazı ayrılmış kelimeler vardır.
Tanımlayıcı beklenen hatası nedir?
Derleme zamanında meydana gelen çok yaygın bir derleme hatasıdır.
Aşağıdaki Java programını ele alalım.
vikas divyakirti
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
Yukarıdaki programı derlemeye çalıştığımızda aşağıdaki hatayı alıyoruz.
Kod iyi görünüyor ama öyle değil. Çünkü print ifadesi uygun bir yer değil. Bir yöntemin/bloğun içinde olmalıdır. Kodu bir yöntemin içine saralım ve ardından derleyip çalıştıralım.
IdentifierError.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
Çıktı:
elektriğin avantajları
javatpoint
Hatanın Oluşma Nedenleri
Hatanın oluşmasının aşağıdaki nedenleri olabilir:
- Kodun Java sözdizimi kurallarına uymaması durumunda ortaya çıkar.
- Bir yöntem veya bloğun içine yazmak yerine doğrudan sınıf gövdesine yazılan kod bloğu.
- Ekstra küme parantezleri olabilir.
- Kod doğru yerde değil.
- Her ifadenin sonunda noktalı virgül bulunmalıdır.
Hatalar nasıl düzeltilir/çözülür?
- Açıklamanın sonuna noktalı virgül koymayı unutmayın.
- Kodu doğrudan sınıf gövdesinin içine koymayın.
- Yöntemlerin çağrılması bir yöntemin, yapıcının veya statik başlatıcının içinde olmalıdır.
- Uygun yere bir kod bloğu yazın.
- Ekstra küme parantezlerini çıkarın.
TanımlayıcıHataÖrnek1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
Yukarıdaki kodu derleyelim. Beklenen hatayı alıyoruz.
Yukarıdaki kodu gözlemleyin, hata oluşturmanın nedeni olan fazladan bir küme ayracı olduğunu anlıyoruz. Hata, 6. satırdaki ekstra parantez kaldırılarak düzeltilebilir.
c++'da dize işleme
Değerleri tanımlarken virgül yerine noktalı virgül koyduğumuzda da hata oluşuyor. Sıralama . Örneğin aşağıdaki kodu göz önünde bulundurun.
TanımlayıcıHataÖrnek2.java
public class IdentifierErrorExample2 { public enum Vegetables { eggplant, tomato, broccoli; } public static void main(String args[]) { for(Vegetables veg : Vegetables.values()) System.out.println(veg); } }
Yukarıdaki kodu çalıştıralım. tanımlayıcı beklenen hatası alıyoruz.
Hatayı düzeltmek için numaralandırma değerlerinden noktalı virgülleri kaldırın.
public enum Vegetables { eggplant, tomato, broccoli; }
Bazen hata çok daha büyük olabilir. Aşağıdaki kodu göz önünde bulundurun.
TanımlayıcıHataÖrnek3.java
import java.util.Arrays; public class IdentifierErrorExample3 { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = nums[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); }
Yukarıdaki kodu derleyelim.
kısmi bağımlılık
Bazı ifadeler doğrudan sınıf gövdesinin içine yazıldığı için çok fazla hata alıyoruz. Hatayı çözmek için kod bloğunun tamamını bir yöntemin içine yazın ve ardından derleyip çalıştırın.
TanımlayıcıHataÖrnek4.java
import java.util.Arrays; public class IdentifierErrorExample4 { public static void main(String args[]) { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = primes[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); } }
Çıktı: