Şimdi Ara

Java || Method Array döndürmüyor.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
375
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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;

    }







  • methodun dönüş tipini int[] şeklinde değiştirmeyi deneyin.
  • 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ı >




  • @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.
  • Glitch G kullanıcısına yanıt
    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)

    Java ||  Method Array döndürmüyor.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 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 >
  • 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
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.