Bu Java sözdizimsel doğrudur. Ama belki sen niyetinde yapıyor olabilir nasıl görmüyorum.
'Eleman' parametresi aradığınız şey ve mevcut sınıfında 'ilk' alanı ikili ağacın kökü olduğu anlaşılmaktadır.
(Eleman sınıfında) ikili ağacı ve arama için anahtar 'varlık' veya 'veri' olup olmadığı belirsiz. 'Den daha az' test 'den daha büyük' test kullanır 'veriler' ise, 'aktif' kullanır. Her iki hat aynı alanı kullanması gerektiğini muhtemel görünüyor. Bu iki alan ( 'varlık' veya 'veri') biri gerektiğini olabilir değil tüm bu yöntemde başvurulan. Belki yöntemin son satırı sadece 'return true;' olmalıdır?
(I "durdurma koşulu" şüpheli ve cevapları yukarıdaki hem yanlıştır "kod simetrik değildir" Ama yanlış olabilir. Verilen tek kodla söylemek zor.)
Sonsuz döngü muhtemeldir kabul ediyorum: İkinizin 'Elemanı' parametrelerini kabul eden bir ikinci 'ara' işlev oluşturmanız gerekir şüpheli - Bir aramak için bir şey olma (şimdiki 'eleman' parametresi gibi) ve diğer varlık arama sonraki Eleman - geçerli yerel değişken 'c' eşdeğer. Ben ilk satır hariç cari 'ara' yönteminin gövdesinde her konuda "Yöntem Özü" üstlenmeden yapmak ve sonra yeni yöntemi kullanmak için iki tekrarlanan aramalara değiştirecektir.
(Bunlardan bazıları Yani, tabii ki, oldukça yanlış olabilir. Bana sınırlı bilgi verilmiş, istediğiniz ya niyetinde ne olduğunu tahmin dayanarak, spekülatiftir.)