30 03 2014
Dizi Sıralama ve Dizi İçinde Örüntü Bulma
- Dizi yine ayrı bir metot içerisinde random değerlerden oluşturuluyor. Bu dizinin boyutu da yine klavyeden giriliyor.
- Aynı metot içinde dizi küçükten büyüğe sıralanıyor. Sıralama işlemi için “java.utils.Arrays” kütüphanesi kullanılıyor.
- Dizinin ilk durumu ve sıralandıktan sonraki durumu ekrana yazdırılıyor.
- Örüntü bulma işlemi için; “oruntu” dizisi program içinden giriliyor.
- oruntu dizisi içinde ardışık gelen iki elemanın dizi içindeki index numaralarını bulmak için “oruntuBulYaz” metotu kullanılıyor.
import java.util.Random;
import java.util.Arrays;
import java.util.Scanner;
public class DiziSirala_ders1 {
public static void main(String[] args) {
int[] oruntu= {11,41,61,45,23,79,38,19,10,114};
// oruntu dizisi içerisinde 19,10 integer sayılarının arka arkaya geldiği index numaraları bulunacak.
oruntuBulYaz(oruntu, 19, 10);
Scanner sc = new Scanner(System.in);
System.out.println(“Dizinin boyutunu giriniz: “);
int boyut= sc.nextInt();
System.out.println(“”);
int sonDizi[]= diziOlusturSirala(boyut);
for (int i = 0; i < boyut; i++) {
System.out.print(sonDizi[i]+ ” “);
}
}
private static int[] diziOlusturSirala(int boyut)
{
Random rnd = new Random();
int[] ilkDizi = new int[boyut];
for (int i = 0; i < boyut; i++) {
ilkDizi[i]= rnd.nextInt(10);
System.out.print(ilkDizi[i]+ ” “);
}
System.out.println(“”);
Arrays.sort(ilkDizi);
return ilkDizi;
}
private static void oruntuBulYaz(int[] list, int hedef1, int hedef2)
{
boolean bulunduMu=false;
for (int i = 0; i < list.length; i++) {
for(int j = i+1; j<list.length; j++){
if(list[i]==hedef1 && list[j]==hedef2)
{
bulunduMu=true;
System.out.println(“Bulunan hedef indisleri: ” +i
+ ” ” + j + ” sayılar: ” + hedef1 + ” ” + hedef2);
}
}
}
if (bulunduMu==false) System.out.println(“Örüntü bulunamadı!”);
}
}
Dizi Toplama Örneği Overloading -1