Soru & Cevap

Değişken isminin sonuna rakam vererek döngü oluşturmak mümkün mü?

21.06.2020 - 08:22

----------------------------------------------------------------------------
int sistem1 = 0;
int sistem2 = 10;
int toplam = 0;
for (int a=1; a<3; a++)
{
System.out.println(sistema);
}
------------------------------------------

sistem1 ve sistem2 döndürmek istiyorum. tabiki olmuyor. ancak farklı bir yöntem veya tanımlama ile böyle birşey yapabilirmiyim. amaç değişken isminin sonuna rakam vererek döngü oluşturmak.

 

17 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-158072-1530701953.jpg
TGUNEYSU
23.06.2020 - 07:40

Kullandığnız programlama dilinin değişkenlere değişken adresini kullanarak ulaşma yeteneği var mı, kontrol edin.

Varsa, değişkenlerinizi peş peşe sıralayın ve birincisinin adresini kaydedin.

Sonra, döngünüzde indeksinizi bu addresle başlatarak değere ulaşın.

Arkasından, indeksinizi (yani başlangıç adresini) kullanılan dilin kullandığınız değişken tipi uzunluğu kadar değiştirin.

Bu sizi bir soraki değişkeninize ulaştıracaktır.

Değişken tip uzunlukları her dılde belirlidir  ve aynı zamanda dilin bir fonksiyonuyla da döndürülür.

Bunları birleştirerek sonucunuza ulaşabilirsiniz.

Yalnız unutmayın ki, derleyiciler değişik optimizasyonlar uygulayarak değişken yerlerini (adreslerini) oynatabilirler. Bundan dolayı bu tip yöntemler çalışmayabilir.

Gene kullanılan dile göre, bazı dillerde eval() gibi string kabul eden fonksiyon olabilir.

Bunu kullanarak da yarattığınız değiken adını eval(değişkenAdı) gibi bir yöntemle kullanarak, değerine ulaşabilirsiniz.

 

Profile picture for user kummbara
kummbara
21.06.2020 - 11:59

aynı tür olmak koşuluyla, farklı değişkenleri dizi kullanarak ekrana döndürebilirsiniz. Örneğin:

public class DiziDondur{

 public static void main(String []args){
      int[] dizi1 = {0, 1, 10, 4, 99};
 
       for (int i = 0; i < 5; i++) {
            System.out.println(dizi1[i]);}
     } }


//Çıktı da şu şekilde olacaktır:
0

1

10

4

99
//String için de bir örnek vereyim:

public class Gunler {
     public static void main(String[] args) { 
     String [] hafta = new String[7];
        gun[0]="pazartesi";
        gun[1]="salı"; 
        gun[2]="çarşamba"; 
        gun[3]="perşembe"; 
        gun[4]="cuma"; 
        gun[5]="cumartesi"; 
        gun[6]="pazar";
        for (int i = 0; i < 7; i++) {
            System.out.println(gun[i]);   }  } }


//Çıktı şu şekilde: 
pazartesi

salı

çarşamba

perşembe

cuma

cumartesi

pazar