Skip to content

Java Soru Çözümleri 5 – Dizideki Elemanı Silip Başka Bir Eleman Ekleme

 

Java Eğitimleri 19 – Dizi Soruları – 5

Merhabalar…

Dizi soru çözümlerimizde 5. yazımızdayız ve bugün de “Array” metoduyla sorumuzu çözeceğiz. Sorumuz şu:

Bir alışveriş listesi hazırlıyoruz. Ve listede bir elemanı yanlış yazdığımızı fark ettik, düzeltip yerine başka bir eleman eklemek istiyoruz. Yani dizide bir elemanı silip yerine başka bir eleman ekleyeceğiz. Peki bunu Java’da nasıl oluşturacağız ?

Haydi, asılalım kodlara…

 

import java.util.ArrayList;
import java.util.Scanner;

public class proje1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        
        Scanner klavye=new Scanner(System.in);
        
        System.out.println("Alışveriş Listesi Kaç Elemandan Oluşacak ?");
        int n=klavye.nextInt();
        
        ArrayList <String> alinacaklar=new ArrayList<String>();
        System.out.println("Alışveriş Listesini Oluşturunuz : ");
        for(int i=0;i<n;i++){
            alinacaklar.add(klavye.next());
        } System.out.println("Market Listesi : ");
        for(int j=0;j<n;j++){
            System.out.println(alinacaklar.get(j));
        }
        
        System.out.println("Hangi Elemanı Değiştirmek İstiyorsunuz ?");
        int ara=klavye.nextInt();
        System.out.println("Listeye Hangi Malzemeyi Eklemek İstiyorsunuz ?");
        String eleman=klavye.next();
        
        alinacaklar.add(ara-1,eleman);
        
        System.out.println("Listenin Son Hali :");
        for(int k=0;k<alinacaklar.size();k++){
            System.out.println(alinacaklar.get(k));
        }
    
        
        
        
        
    }

}

 

Kodlarımızı Array ile yazdık ve sorunsuz bir şekilde çalıştı. Şimdi de kodlarımızı ele alma vakti 🙂

  • İlk olarak oluşturacağımız listenin boyutunu Scanner komutu ile klavyeden giriyoruz.
  • “Alınacaklar” adını verdiğimiz String dizisini oluşturuyoruz.

           ArrayList <String> alinacaklar=new ArrayList<String>();

  • For döngüsü ile listemize n tane eleman ekliyoruz.

           alinacaklar.add(kalvye.nextInt();

  • Klavyeden elemanlarını girerek oluşturduğumuz diziyi bir sonraki adımda daha net görebilmek amacıyla, bir for döngüsü daha oluşturarak dizinin elemanlarını yazdırıyoruz.

          System.out.println(alinacaklar.get(j));

  • Değiştirmek istediğimiz elemanın indeks değerini klavyeden girerek değerinin değişmesi için ilk adımı atmış olduk böylece.

        System.out.println(“Hangi Elemanı Değiştirmek İstiyorsunuz ?”)                                                      int ara=klavye.nextInt();

  • Sildiğimiz değerin yerine başka bir değer eklenecek. Bu adımda da eklemek istediğimiz değeri klavyeden atamış oluyoruz.

       System.out.println(“Listeye Hangi Malzemeyi Eklemek İstiyorsunuz ?”);                                         String eleman=klavye.next(); 

 

 

 

NOT: Burada string ve int yapılarına dikkat etmek gerekebilir. İnteger değerini indisi atamak, yani elemanın dizideki sırasını belirleyebilmek için kullandık. Ekleyeceğimiz eleman ise String yapıda olmalı. Çünkü diziyi tanımlarken String yapıda elemanlardan oluştuğunu belirtmiştik. Eğer buraya integer yapıda değer atarsak programımız hata verecektir.

 

 

 

  • Daha sonra elemanı silip, yerine ekleyeceğimiz değerin gelmesini sağlayan metodu yazıyoruz. 

            alinacaklar.add(ara-1,eleman);

 

 

NOT: .add komutunu diziye elemen ekleyeceğimiz zaman kullanıyoruz. Parantezdeki değerlerimize de sırasıyla sileceğimiz değerin indisi ve eklenecek değeri yazıyoruz. Burada ara-1 şeklinde yazmamızın sebebi Java’da dizilerin 0. elemandan başlaması idi. “ara” olarak kalsaydı istediğimiz indis değerini değil, bir sonraki değeri silmiş olacaktı.

 

 

 

  • Son olarak da dizimizin son halini for döngüsü ile yazdıracağız.

            for(int k=0;k<alinacaklar.size();k++){                                                                                                System.out.println(alinacaklar.get(k));     

 

 

NOT: Dizide yapılan değişiklerden sonra diziyi yazdırmak istersek, dizinin boyutunu .size() metodu ile göstermek daha doğru olacaktır. 

 

 

  • Çıktımız da şu şekilde olacaktır:

 

 

 

                          

Bir sonraki soru çözümünde görüşmek üzere 🙂

İyi çalışmalar..

 

1 Comment »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: