Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
6
Cevap
382
Tıklama
0
Öne Çıkarma
Java || Method Array döndürmüyor.
G
7 yıl
Teğmen
Konu Sahibi

Selam arkadaşlar.
Herhangi bir harfin klavye üzerindeki index'ini bulmam gerekiyor ama fonksiyonun içinden çıkaramadım veriyi :)
Şuan kod böyle son satırda "int[] array'e convert edilemez" diyor.

public static Array findİndex(char c){
char keyboard[][] = {{'Q','W','E','R','T','Y','U','I','O','P'}
, {'A','S','D','F','G','H','J','K','L',';'}
, {'Z','X','C','V','B','N','M',',','.','/'}};
int firstIndex=2;
int secIndex=9;

for(int i=0;i<3;i++){
for(int j=0;j<10;j++){
if(keyboard[i][j]==c){
firstIndex=i;
secIndex=j;
break;
}


}
}
int[] index = new int[2];
index[0]=firstIndex;
index[1]=secIndex;
return index;

}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



B
7 yıl
Yarbay

methodun dönüş tipini int[] şeklinde değiştirmeyi deneyin.


Bu mesaja 1 cevap geldi.
T
7 yıl
Yarbay

Arkadaşın dediği gibi fonksiyonu int[] cinsinden tanımlarsan sorun gidecektir. Fonksiyonu Array cinsinden tanımlamışsın fakat geri dönen değerin türü int[] nitekim compiler ondan şikayet etmiş.

Daha geniş bir yorum olarak:

Java tür tanımlama zorunlu (typed) dillerden, o yüzden fonksiyon cinsi ile geri döndürdüğü değer türü aynı olmalı. Böyle zorunluluk olmasın diyorsan Perl ve Ruby gibi dillere bakabilirsin örneğin



quote:

int[] index = new int[2];

index[0]=firstIndex;

index[1]=secIndex;

return index;





kısmı Perl'de



quote:

my $index = [$firstIndex, $secIndex];

return $index;




şeklinde cok daha kısa olurdu cunku int[] gibi birşey tanımlamaya gerek olmadığı gibi firstIndex ve secIndex değerlerini direkt bir liste değişkeni ($index adında) içine atmak mümkün. Perl'deki bu fonksiyondan dönen o değişkeni yazdırmak için de:



quote:

print "ilk deger: @$index[0] \n" . "ikinci deger: @$index[1]\n";




kullanılabilir. Oradaki @ ve yanında bitişik $ tür belirteçleri. @ array (dizi), $ skalar (düz) veri türlerini belirtiyor, ikisi bitişik olunca skalar veriyi dizi olarak yorumluyor. Yani görünümde biraz karışık gibi duruyor (başta) fakat program yazarken ve okurken büyük kolaylık sağlıyor cunku birşeyin veri türü nedir, veri midir değer midir ayrımını anında yapmayı sağlıyor.





< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 24 Mart 2018; 0:32:59 >

< Bu ileti mini sürüm kullanılarak atıldı >

G
7 yıl
Teğmen
Konu Sahibi

@Booker DeWitt
Aynen hocam öyle yapınca oldu.Ben array hepsini kapsıyodur heralde diye düşünmüştüm.

@revivo72
Maalesef okuldan dolayı java olarak yazmak zorundayım.Kod gereksiz uzamış olabilir çünkü çok yeniyim, daha "@ $" belirteçlerinin işlevlerini görmemiştim açıkçası.Sadece hazır kodlar içinde görmüştüm :) Araştıracağım ama el mahkum.

İkinize de teşekkürler.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72 , @Booker DeWitt
T
7 yıl
Yarbay

Array sınıf, int[] ise array türünde veri; o yüzden uyumlu değil.



Perl ise ancak deneyip kullanınca ne kadar kullanışlı olduğunu görebilirsin. Dikkat ettiysen, Java'daki veri yapılarını ve tür sistemini anlatmak için Python değil de Perl özellikle kullandım cunku Perl süper pratik bir dil. Geçen ay basit bir metin işlem yapmak istedim, şu kodu 10-15dk içinde yazdım. (Açıklamaları sonradan ekledim)

< Resime gitmek için tıklayın >



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Glitch
G
7 yıl
Teğmen
Konu Sahibi

Hocam cevapların için teşekkürler. Basit bir şey daha sorabilir miyim ?
String olarak aldığım bir kelimenin ilk harfini değiştirdikten sonra bir method çağıracağım üstüne.String üzerinde harf değiştirmeyi nasıl yapabilirim?

method(yeni_ilk_harf+kelime.substring(1))

böyle mantıklı olur mu ?





< Bu mesaj bu kişi tarafından değiştirildi Glitch -- 24 Mart 2018; 22:23:43 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
F
7 yıl
Yarbay

quote:

Orijinalden alıntı: Glitch

Hocam cevapların için teşekkürler. Basit bir şey daha sorabilir miyim ?
String olarak aldığım bir kelimenin ilk harfini değiştirdikten sonra bir method çağıracağım üstüne.String üzerinde harf değiştirmeyi nasıl yapabilirim?

method(yeni_ilk_harf+kelime.substring(1))

böyle mantıklı olur mu ?


olur



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.