Java Eğitimleri 20 – Dizi Soruları – 6
Bugün, daha önce çözdüğümüz soruların “Array” metoduyla yazılmış halini inceleyeceğiz. Daha önce Array metodunu kullanmadığımız için integer yapıdaki dizilerde bu çalışmayı yapmıştık ama array sayesinde string yapı için de aynı soruyu çözebilmemiz mümkün.
Sorumuz şu şekilde:
Yazılım ile ilgili bir eğitim verilecek. Eğitimde almak istediklerimizi klavyeden bir diziye aktaracağız. Daha sonra aldığımız eğitimlerden herhangi birini klavyeden girdiğimizde hangi sırada olduğunu öğreneceğiz. Yani dizideki herhangi bir elemanın sırasını yazdıran programı yazacağız ama bu defa “array” ile.
Haydi, başlayalım.
import java.util.ArrayList;
import java.util.Scanner;
public class derssecimi {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner klavye=new Scanner(System.in);
System.out.println("Verilecek Olan Eğitimde Kaç Adet Ders Almak İstiyorsunuz ?");
int n=klavye.nextInt();
ArrayList<String> dersler =new ArrayList<String>();
System.out.println("Almak İstediğiniz Dersleri Yazınız...");
for(int i=0;i<n;i++){
dersler.add(klavye.next());
}
System.out.println("Aldığınız Dersler :");
for(int k=0;k<n;k++){
System.out.println(dersler.get(k));
}
System.out.println();
System.out.println("Eklediğiniz Derslerden Hangisinin Sırasını Öğrenmek İstiyorsunuz?");
String ara=klavye.next();
System.out.println();
if(dersler.contains(ara)==true){
System.out.println("Eklediğiniz Ders :"+ ara);
System.out.println("Eklediğiniz Dersin Eğitimini "+(dersler.indexOf(ara)+1)+". Sırada Alacaksınız");
}else{
System.out.println("Aradığınız Ders, Seçimlerinizde Gözükmemektedir.");
}
}
}
- İlk olarak, kaç adet eğitim almak istediğimizi giriyoruz. Yani dizimizin boyutunu belirliyoruz.
int n=klavye.nextInt();
- Array metodu ile string yapıdaki dizimiz oluşturuyoruz.
ArrayList<String> dersler =new ArrayList<String>();
- For döngüsü ile n elemanlı dizimize değer atıyoruz.
for(int i=0;i<n;i++){ dersler.add(klavye.next()); }
- Aldığımız dersleri karışmaması için bir kez daha yazdırıyoruz.
System.out.println(“Aldığınız Dersler :”); for(int k=0;k<n;k++){ System.out.println(dersler.get(k)); }
- Sırasını öğrenmek istediğimiz dersi klavyeden aratıyoruz bir sonraki adımımızda.
String ara=klavye.next();
- Daha sonra ise bir if döngüsü oluşturarak koşullarımızı sağlayan elemanın ekrana yazdırılmasını istiyoruz.
if(dersler.contains(ara)==true){ System.out.println(“Eklediğiniz Ders :”+ ara); System.out.println(“Eklediğiniz Dersin Eğitimini “+(dersler.indexOf(ara)+1)+”. Sırada Alacaksınız”);
NOT 1: .contains metodu ile dizide arattığımız eleman true değerini döndürüyorsa if döngüsünün içerisine girsin istiyoruz. Eğer arattığımız eleman dizide mevcut değilse else’in içerisine girecek ve döngü burada sonlanacaktır.
NOT 2: .indexOf metodu ile dizide aradığımız elemanın indisini yani sırasını öğrenmiş oluyoruz. Ancak Java’da elemanlar 0’dan başladığı için +1 değerini de eklemiş olduk.
- Programı çalıştırdığımızda ise çıktımız şöyle olacak:
Şimdilik bu kadar. Bir sonraki sorumuzda görüşmek üzere…
İyi çalışmalar 🙂
Leave a Reply