Yukarıdaki örnek düzgün çalışmıyor. Bir hata alıyorum.Bir dönüş ifadesinde iki dizge nasıl gönderilir?
İlk soruya nasıl ulaşabilirim?
Yukarıdaki örnek düzgün çalışmıyor. Bir hata alıyorum.Bir dönüş ifadesinde iki dizge nasıl gönderilir?
İlk soruya nasıl ulaşabilirim?
doğru sözdizimi size dönmeye çalışıyoruz iki String
s (ans1
ve ans2
) Eğer String
dizi oluşturmadıysanız (veya String[]
) oluşturduk rağmen
return new String[]{ ans1, ans2 };
olurdu. Yukarıda gösterilen yapı biraz daha ayrıntılı ancak eşdeğer kod için kısaltmadır: bir uzunluğu 2 dize dizisi oluşturmak
String[] arr = new String[2];
arr[0] = ans1;
arr[1] = ans2;
return arr;
, ans2
için ans1
birinci değer ve ikinci atama ve daha sonra bu dizi döner.
return new String[] { ans1, ans2 };
Bunu yapmak zorunda sebebi sadece söylediğini {ans1, ans2} aslında dönmek çalıştığınız nesne oluşturmaz. Tek yaptığı, bir diziye iki eleman eklemek, ancak "yeni String []" olmadan, aslında öğeleri eklemek için bir dizi oluşturmadınız.
Neden böyle? Ive alderly bir dizi oluşturdu .. ans1 = new String [] gibi yeni bir dize oluşturursam işe yarayacak mı? – higherDefender
@ D.J Cevabımı daha fazla açıklama ile güncelledi. –
return new String[] {ans1 , ans2};
Neden böyle? Ive alderly bir dizi oluşturdu .. ans1 = new String [] gibi yeni bir dize oluşturursam işe yarayacak mı? – higherDefender
return new String[]{ans1,ans2};
Bu çalışması gerekir. Yorumlardaki diğer sorunuza. Java güçlü bir şekilde yazılmış bir dil olduğundan, tüm değişkenler/sonuçlar oluşturulmalıdır. Herhangi bir yere geri dönmek istediğiniz sonucu elde etmediğiniz için, dönüş ifadesinin kendisinde örnekleme yapıyoruz.
Şu anda sadece lise öğrenciyim, ama bir arkadaşımdan aldığım kolay bir çözüm işe yaramalı. (Bu, AP sınıfımda bir projenin bir parçası) gibi gider:
public String firstMiddleLast()
{
//returns first, middle, and last names
return (first + " " + middle + " " + last);
}
Ve sonra? Arayanlar onları yeniden kurtaracak ...? – alexander
Neden böyle? Ive alderly bir dizi oluşturdu .. ans1 = new String [] gibi yeni bir dize oluşturursam işe yarayacak mı? – higherDefender
@ D.J. Çünkü String nesneleri oluşturmuş olsanız bile henüz bir String dizisi yaratmadınız (daha fazla ayrıntı için benim düzenlenmiş cevaba bakınız) –