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;
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:
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 >
@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.
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)
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?
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?
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.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜ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.