31 Aralık 2016 Cumartesi

Java Array

 /***
/* N- boyutlu bir dizi içerisinde herbir elemanın tekrarlanma sayısını bulan bir static Array.counterArray(int[]) fonksiyonu.
örneğin:
Array{1,1,1,4,6,4,4,5,6,1}
1 den>4 adet
4 ten>3 adet
5 ten>1 adet
6 dan>2adet gibi

*********************************************************************************






















public class Array {
    public static int search(int[] k, int val) {
        for (int i = 0; i < k.length; i++) {
            if (k[i] == val) {
                return i;
            }
        }
        return -((int)Math.random()*val);
    }
    public static TValue counterArray(int[] dizi) {
        TValue t = new TValue();
        for (int i = 0; i < dizi.length; i++) {
            int val = dizi[i];
            int pc = 0;
            if (Array.search(Array.toCastInt(t.value.toArray()), val) < 0) {
                for (int j = i; j < dizi.length; j++) {
                    if (val == dizi[j]) {
                        pc++;
                    }
                }
                t.value.add(val);
                t.key.add(pc);
            } else {
                continue;
            }
        }
        return t;
    }
    private static int[] toCastInt(Object[] toArray) {
        int[] val = new int[toArray.length];
        for (int i = 0; i < val.length; i++) {
            val[i] = Integer.parseInt(toArray[i].toString());
        }
        return val;
    }
    public static void main(String[] args) {
          int[] d = {3,1,1,1,1,1,3,7,3,3,2,1,1};
        System.out.println("Array:"+Arrays.toString(d));
        TValue tem = Array.counterArray(d);
        System.out.println(tem.dump());
        System.out.println("search 2>index:"+Array.search(d, 2));
}
}





27 Ekim 2016 Perşembe

Java Netbeans Array Example

*********************************************************************************
*Java da  bir diziye n adet max-min aralığında rastgele sayı ekleyen ve bu sayıların birbirinden faklı olmasını sağlayan java kodu aşağıda verilmiştir.
* örneğin N =10 olduğunda max-min>=10 olmalıdır.
*N=20 ise max=25 min=5 ;  N<=(max-min) olmalıdır.
*********************************************************************************
public class Array {

    private static int binarySearch(int[] array, int val) {
        for (int i = 0; i < array.length; i++) {
            if (array[i] == val) {
                return i;
            }
        }
        int c = (int) ((Math.random() * (-(array.length - 1))) - 1);

        return c;

    }

    public static int[] uniqueRand(int min, int max, int adet) {
        int[] array = new int[adet];
        int in;
        int value;
        for (int i = 0; i < adet; i++) {
            do {
                value = (int) ((Math.random() * (max - min)) + min);
                in = Array.binarySearch(array, value);
            } while (!(in < 0));
            array[i] = value;
        }
        return array;
    }

    public static String toString(int[] a) {
        return Arrays.toString(a);
    }

    public static void main(String args[]) {
        int[] arr = Array.uniqueRand(10, 20, 8);
        System.out.println(Array.toString(arr));

    }
}
*********************************************************************
Cıktı:

run:

Array Lenght=8
Max=20;
Min=10;
[10, 12, 13, 18, 16, 15, 11, 17]
BUILD SUCCESSFUL (total time: 0 seconds)

14 Temmuz 2016 Perşembe

Entity FrameWork C#

Uzun en sql komutları yazmak yerine EntityFramework kullanarak ekleme,silme ve güncelleme işlemi daha az kodla cözüme kavuşturuldu....

 MarketOtomasyonEntities db=new MarketOtomasyonEntities();//Veritabanımızın modelini oluşturduk

        private void urun_ekle_Click(object sender, EventArgs e)
        {
            Urunler urun = new Urunler();//Urunler tablosunun bir modeli oluşturduk.Ekleme işlemi için                gerekli kod aşağıda verilmiştir
            urun.u_ad = "Kek";
            urun.u_kod = "1234568";
            urun.u_reyon_id = 2;
            urun.u_resim = null;
            db.Urunler.Add(urun);
            db.SaveChanges();
        }

        private void urun_sil_Click(object sender, EventArgs e)
        {
            var silinecek = db.Urunler.Where(w => w.u_id == 1).FirstOrDefault();//silinecek veri alındı.
            db.Urunler.Remove(silinecek);//Remove komutu veri silindi
            db.SaveChanges();//Değişikliklerin kaydedilmesi için SaveChanges() metodunu çağırdık.
        }

        private void urun_guncelle_Click(object sender, EventArgs e)
        {
            var guncellenecek = db.Urunler.Where(w => w.u_id == 1).FirstOrDefault();//Değişiklik                       yapılacak veri alındı.
            guncellenecek.u_kod = "010101";//değiştirilecek veri
            db.SaveChanges();//Değişikliklerin kaydedilmesi için SaveChanges() metodunu çağırdık.
        }
    }
}

13 Temmuz 2016 Çarşamba

Game Ball























/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Game;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;

/**
 *
 * @author ozaytunctan13
 */
public class GameBall extends JFrame implements ActionListener, MouseMotionListener {

    private int ballxSpeed = 7;
    private int ballySpeed = 5;
    private int paddlex = 0;
    private JPanel screen;
    private int scren_w = 800;
    private int scren_h = 600;
    private Ball top;
    private RectCollision rect;
    private int Ball_x = 0;
    private int Ball_y = 0;
    private int Ball_w = 30;
    private int Ball_h = 30;
    private int Rect_x = scren_w / 2;
    private int Rect_y = scren_h - 30;
    private int Rect_w = 100;
    private int Rect_h = 20;
    private long ball_speed = 1000;
    private boolean gameOver = false;

    public void initialize() {
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLayout(null);
        this.setTitle(GameBall.class.getName());
        this.setBounds(200, 30, 800, 650);
        this.setBackground(Color.blue);
        this.setVisible(true);
        screen = new JPanel();
        this.setResizable(false);
        screen.setSize(800, 600);
        screen.setBackground(Color.BLACK);
        this.add(screen);
        Ball_x = (int) (screen.getSize().width) / 2;
        this.addMouseMotionListener(this);
        this.setLocationRelativeTo(null);

    }

    public GameBall(String title) {
        this.setTitle(title);
        initialize();
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);

        top = new Ball(Ball_x, Ball_y, Ball_w, Ball_h);
        rect = new RectCollision(paddlex, Rect_y, Rect_w, Rect_h);
        Graphics fr = screen.getGraphics();
        top.onDraw(fr);
        Graphics fr2 = screen.getGraphics();
        rect.onDraw(fr2);
        //Collision();

    }

    public void update(Graphics gr) {

    }

    public void Collision() {

        Ball_x = Ball_x + ballxSpeed;

        Ball_y = Ball_y + ballySpeed;

        // Window yukarı
        if (Ball_x >= paddlex && Ball_x <= paddlex + 100 && Ball_y >= 475) {

            ballySpeed = -7;
            // score++;

        }

        if (Ball_y >= 800) {

            // score = 0;
            Ball_y = 30;
            gameOver = true;

        }

        // Window aşağı
        if (Ball_y <= 0) {

            ballySpeed = 7;

        }

        // Window sağ
        if (Ball_x >= 800) {

            ballxSpeed = -5;

        }

        // Window sol
        if (Ball_x <= 0) {

            ballxSpeed = 5;

        }

        repaint();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        Collision();
    }

    @Override
    public void mouseDragged(MouseEvent e) {

    }

    @Override
    public void mouseMoved(MouseEvent e) {
        //Rect sadece x yönünde hareket etmektedir width.
        paddlex = e.getX() - 50;
        repaint();
    }

    public static void main(String[] args) {
        GameBall b = new GameBall("title");
        Timer t = new Timer(30, b);
        t.start();
    }
}
/////////////////////////// Rect Class////////////////////////////////
public class RectCollision extends Rectangle{
     private int Ball_x;
    private int Ball_y;
    private int Ball_w;
    private int Ball_h;

    public RectCollision(int x, int y, int width, int height) {
        super(x, y, width, height);
        Ball_x = x;
        Ball_y = y;
        Ball_w = width;
        Ball_h = height;
      
    }

    public void onDraw(Graphics g) {
        g.setColor(new Color(255,255,30));
        g.drawRect(x, y, width, height);
        g.fillRect(x, y, width, height);
    }
}
////////////////////////////////////////Ball Class/////////////////////////////////////

public class Ball extends Rectangle  {

    private int Ball_x;
    private int Ball_y;
    private int Ball_w;
    private int Ball_h;

    public Ball(int x, int y, int width, int height) {
        super(x, y, width, height);
        Ball_x = x;
        Ball_y = y;
        Ball_w = width;
        Ball_h = height;
      
    }

    public void onDraw(Graphics g) {
        g.setColor(new Color(255,255,30));
        g.drawOval(x, y, width, height);
        g.fillOval(x, y, width, height);
    }
    public static void main(String[] args) {
        JFrame f=new JFrame("Title");
        f.setSize(500,500);
        Ball b=new Ball(5,5,30,30);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
}



30 Haziran 2016 Perşembe

>>AudioPlayer>>

package open.sound;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import open.message.MessageBox;
import open.process.IOImageProcess;
import open.util.FileChoser;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;

public class Ses {
    AudioStream audio = null;
    InputStream inputStream = null;
    String path;
    public Ses() {
    }
    Ses(String path) {
        path = path;
    }

    Ses(InputStream inputSound) {
        this.inputStream = inputSound;
    }
    public void Cal(String path) {
        try {
            inputStream = new FileInputStream(path);

            if (inputStream.available() > 0) {
                audio = new AudioStream(inputStream);
                AudioPlayer.player.start(audio);

            } else {
                MessageBox.showMessage("Ses dosyası bulunamdı");
            }
        } catch (Exception e) {
        }

    }
    public void Cal(){
        String path=FileChoser.chose();
       Cal(path);
    }
    public void kapat() {
        try {
            if (audio != null) {
                AudioPlayer.player.stop(audio);
            } else {
                MessageBox.showMessage("Ses kapatılamadı");
            }
        } catch (Exception e) {
        }
    }
    public static void main(String[] args) throws InterruptedException {
        Ses ses = new Ses();
        ses.Cal("C:\\Users\\ozaytunctan13\\Downloads\\Compressed\\2_wav_files (online-audio-converter.com)\\Java Video Tutorial - YouTube.wav");
        Thread.sleep(4000);
        ses.kapat();
    }
}

29 Haziran 2016 Çarşamba

Arayüz
(Interface)

Java’da arayüz soyut sınıf yerine kullanılır, ama soyut sınıftan farklı ve daha kullanışlıdır. Arayüz kullanarak, bir sınıfın neler yapacağını belirlerken, onları nasıl yapacağını gizleyebiliriz. Arayüzün yapısı sınıfın yapısına benzerse de aralarında önemli farklar vardır.
  • Arayüz ,interface anahtar sözcüğü ile tanımlanır. Arayüz abstract metotlar içerir.
  • Arayüz, anlık (instance) değişkenler içeremez. Ancak, belirtkeleri konmamış olsa bile, arayüz içindeki  değişkenler final ve static olur. Bu demektir ki, arayüzde tanımlanan değişkenler, onu çağıran sınıflar tarafından değiştirilemez.
  • Arayüz, yalnızca public ve ön-tanımlı (dafault) erişim belirtkesi alabilir, başka erişim belirtkesi alamaz.
  • public damgalı arayüz, public damgalı class gibidir. Her kod ona erişebilir. 
  • Erişim damgasız arayüz, erişim damgasız class gibidir. Bu durumda, arayüze, ait olduğu paket içindeki bütün kodlar ona erişebilir. Paket dışındaki kodlar erişemez.
  • Arayüz, public erişim belirtkesi ile nitelenmişse, içindeki bütün metotlar ve değişkenler otomatik olarak public nitelemesine sahip olur.
  • Bir sınıf birden çok arayüze çağırabilir (implement).
  • Aynı arayüzü birden çok sınıf çağırabilir.
  • Sınıftaki metotlar tam olarak tanımlıdır, ama arayüzde metotların gövdeleri yoktur. Onlar abstract metotlardır. Metodun tipi, adı, parametreleri vardır, ama gövde tanımı yoktur; yani yaptığı iş belirli değildir. Metotların gövdesi, o arayüzü çağıran sınıf içinde yapılır. Böylece bir metot, farklı sınıflarda farklı tanımlanabilir. Bu özelik, Java’da polymorphismi olanaklı kılan önemli bir niteliktir.

Arayüzün Yapısı
Arayüzün genel yapısı aşağıdaki gibidir. Erişim-belirtkesi ya public olur ya da hiç konmaz, o zaman default erişim etkin olur.

[erişim_belirtkesi] interface  adı {
       tip metot_adı_01 (parametre_listesi);
       tip metot_adı_02 (parametre_listesi);
       tip final değişken_adı_01 = değer_01;
       tip final değişken_adı_02 = değer_01;
       // …
       tip metot_adı_N (parametre_listesi);
       tip final değişken_adı_N = değer_N;
}

Örnek 1: Aşağıdaki arayüz iki tane metot içermektedir.
public interface arayuz01{
       public void topla(int x, int y); 
       public void hacim(int x, int y, int z);
}

Örnek 2: Aşağıdaki arayüz iki tane sabit değişken içermektedir.
public interface arayuz02{
       public static final double fiyat = 1250.00;   
       public static final int sayac = 5;
}

Örnek 3: Aşağıdaki sınıf, yukarıdaki iki arayüzü var etmektedir. Sınıf içinde, arayüzün metotlarının serbestçe tanımladığına dikkat ediniz. Aynı arayüzü  var edecek başka sınıflar, bu metotları başka başka tanımlayabilirler. Bu, bir metodun farklı işler görmesini sağlar ve polymorphism diye bilinir.
import java.io.*;
class Deneme01 implements arayuz01, arayuz02{
       public void topla(int x, int y){
             System.out.println("x+y = " + (x+y));
       }
       public void hacim(int a, int b, int c){
             System.out.println("Hacim = " + (a*b*c));
       }
      
       public static void main(String[] args){
             Demo d01 = new Deneme01();
             D01.topla(12,15);
             D01.hacim(3,5,7);
       }
}

Örnek 4:

interface Aryz {
  void aryzMet(int param);
}

class Deneme02 implements Aryz {
       // Implement Aryz's interface
  public void aryzMet(int p) {
    System.out.println("aryzMet metodu " + p + “ ile çağrılıyor. “ );
  }
}

class Deneme03 implements Aryz {
       // Implement Aryz's interface
  public void aryzMet(int p) {
    System.out.println("aryzMet metodu " + p + “ ile çağrılıyor. “ );
  }

  void insMet() {
    System.out.println("Arayüzü çağıran sınıf, istenirse " +
                       "başka öğeler de tanımlayabilir.");
  }
}

class Deneme04 {
  public static void main(String args[]) {
    Aryz d04 = new Deneme02();
    d04.aryzMet(23);
  }
}

class Deneme05 implements Aryz {
       // Implement Aryz's interface
  public void aryzMet(int p) {
    System.out.println("Başka bir aryzMet");
    System.out.println("p nin karesi = " + (p*p));
  }
}

class Deneme06 {
  public static void main(String args[]) {
    Aryz c = new Deneme02();
    Deneme05 d05 = new Deneme05();

    c.aryzMet(23);

    c = d05; // c şimdi Deneme05’in bir nesnesini işaret ediyor
    c.aryzMet(23);
  }
}


Örnek 4: Aşağıdaki sınıf Aryz arayüzünü çağırıyor, ama onun metotlarını tanımlamıyor. Dolayısıyla soyut bir sınıftır, önüne abstract nitelemesi konmalıdır.

abstract class EksikClass implements Aryz {
  int a, b;
  void show() {
    System.out.println(a + " " + b);
  }
  // ...
}



Örnek 5: Aşağıdaki örnek, interface kullanarak bir stack oluşturmaktadır.


// Define an integer stack interface.
interface IntStack {
  void push(int item); // store an item
  int pop(); // retrieve an item
}

// An implementation of IntStack that uses fixed storage.
class FixedStack implements IntStack {
  private int stck[];
  private int tos;

  // allocate and initialize stack
  FixedStack(int size) {
    stck = new int[size];
    tos = -1;
  }

  // Push an item onto the stack
  public void push(int item) {
    if(tos==stck.length-1) // use length member
      System.out.println("Stack is full.");
    else
      stck[++tos] = item;
  }

  // Pop an item from the stack
  public int pop() {
    if(tos < 0) {
      System.out.println("Stack underflow.");
      return 0;
    }
    else
      return stck[tos--];
  }
}

class IFTest {
  public static void main(String args[]) {
    FixedStack mystack1 = new FixedStack(5);
    FixedStack mystack2 = new FixedStack(8);

    // push some numbers onto the stack
    for(int i=0; i<5; i++) mystack1.push(i);
    for(int i=0; i<8; i++) mystack2.push(i);

    // pop those numbers off the stack
    System.out.println("Stack in mystack1:");
    for(int i=0; i<5; i++)
       System.out.println(mystack1.pop());

    System.out.println("Stack in mystack2:");
    for(int i=0; i<8; i++)
       System.out.println(mystack2.pop());
  }
}


Örnek 6: Aşağıdaki örnek gerektikçe artabilen bir stack oluşturuyor.

// Implement a "growable" stack.
class DynStack implements IntStack {
  private int stck[];
  private int tos;

  // allocate and initialize stack
  DynStack(int size) {
    stck = new int[size];
    tos = -1;
  }

  // Push an item onto the stack
  public void push(int item) {
    // if stack is full, allocate a larger stack
    if(tos==stck.length-1) {
      int temp[] = new int[stck.length * 2]; // double size
      for(int i=0; i<stck.length; i++) temp[i] = stck[i];
      stck = temp;
      stck[++tos] = item;
    }
    else
      stck[++tos] = item;
  }

  // Pop an item from the stack
  public int pop() {
    if(tos < 0) {
      System.out.println("Stack underflow.");
      return 0;
    }
    else
      return stck[tos--];
  }
}

class IFTest2 {
  public static void main(String args[]) {
    DynStack mystack1 = new DynStack(5);
    DynStack mystack2 = new DynStack(8);

    // these loops cause each stack to grow
    for(int i=0; i<12; i++) mystack1.push(i);
    for(int i=0; i<20; i++) mystack2.push(i);

    System.out.println("Stack in mystack1:");
    for(int i=0; i<12; i++)
       System.out.println(mystack1.pop());

    System.out.println("Stack in mystack2:");
    for(int i=0; i<20; i++)
       System.out.println(mystack2.pop());
  }
}

Örnek 6:      Aşağıdaki örnek, bir interface değişkeni yardımıyla, daha önce tanımlanan FixedStack ve DynStack sınıflarına erişmektedir.

/* Create an interface variable and
   access stacks through it.
*/
class IFTest3 {
  public static void main(String args[]) {
    IntStack mystack; // create an interface reference variable
    DynStack ds = new DynStack(5);
    FixedStack fs = new FixedStack(8);

    mystack = ds; // load dynamic stack
    // push some numbers onto the stack
    for(int i=0; i<12; i++) mystack.push(i);

    mystack = fs; // load fixed stack
    for(int i=0; i<8; i++) mystack.push(i);


    mystack = ds;
    System.out.println("Values in dynamic stack:");
    for(int i=0; i<12; i++)
       System.out.println(mystack.pop());

    mystack = fs;
    System.out.println("Values in fixed stack:");
    for(int i=0; i<8; i++)
       System.out.println(mystack.pop());
  }
}


Örnek 7: Aşağıdaki örnek, interface içinde değişken kullanılışını göstermektedir.

import java.util.Random;

interface SharedConstants {
  int NO = 0;
  int YES = 1;
  int MAYBE = 2;
  int LATER = 3;
  int SOON = 4;
  int NEVER = 5;
}

class Question implements SharedConstants {
  Random rand = new Random();
  int ask() {
    int prob = (int) (100 * rand.nextDouble());
    if (prob < 30)
      return NO;           // 30%
    else if (prob < 60)
      return YES;          // 30%
    else if (prob < 75)
      return LATER;        // 15%
    else if (prob < 98)
      return SOON;         // 13%
    else
      return NEVER;        // 2%
  }
}

class AskMe implements SharedConstants {
  static void answer(int result) {
    switch(result) {
      case NO:
        System.out.println("No");
        break;
      case YES:
        System.out.println("Yes");
        break;
      case MAYBE:
        System.out.println("Maybe");
        break;
      case LATER:
        System.out.println("Later");
        break;
      case SOON:
        System.out.println("Soon");
        break;
      case NEVER:
        System.out.println("Never");
        break;
    }
  }

  public static void main(String args[]) {
    Question q = new Question();
    answer(q.ask());
    answer(q.ask());
    answer(q.ask());
    answer(q.ask());
  }
}



Örnek 8: Aşağıdaki örnek, sınıflarda olduğu gibi, arayüzlerin de alt-arayüzlerinin yaratılabileceğini göstermektedir.

// One interface an extend another.
interface A {
  void meth1();
  void meth2();
}

// B now includes meth1() and meth2() -- it adds meth3().
interface B extends A {
  void meth3();
}

// This class must implement all of A and B
class MyClass implements B {
  public void meth1() {
    System.out.println("Implement meth1().");
  }

  public void meth2() {
    System.out.println("Implement meth2().");
  }

  public void meth3() {
    System.out.println("Implement meth3().");
  }
}

class IFExtend {
  public static void main(String arg[]) {
    MyClass ob = new MyClass();

    ob.meth1();
    ob.meth2();
    ob.meth3();
  }
}