JAVA SERVER PAGES

Yazılım alanında kendini gerçekten geliştirmiş, bildiklerini hiçbir karşılık beklemeyerek paylaşan, benimde birçok yazısından faydalandığım değerli arkadaşım Burak Kutbay’ın blog yazılarından düzenleyerek oluşturduğu e-kitabının sizlere faydalı olacağından kesinlikle eminim. Burak KUTBAY’ın e kitabına ulaşmak isterseniz aşağıdaki linke tıklamanız yeterli.java-server-pages-kitap

Burak KUTBAY’ın JSP e-kitabını indirmek için tıklanıyınız.

Yazılım ile ilgili daha birçok yazıya;

http://burakkutbay.com
http://blog.burakkutbay.com ‘dan ulaşabilirsiniz.

Java Final Hazırlık Soruları-4

Ekranda klavyeden girilmiş olan karakterler içinde rakam ve harfleri ayırt eden program yapalım.(Dizi kullanarak yapıyoruz.)

import java.util.Scanner;
public class DiziIslemleri {
public static void main(String[] args) {
 Scanner key=new Scanner(System.in);
 String[] dizi1={"a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z"};
 String[] dizi2={"A","B","C","Ç","D","E","F","G","Ğ","H","I","İ","J","K","L","M","N","O","Ö","P","R","S","Ş","T","U","Ü","V","Y","Z"};
 String[] dizi3={"0","1","2","3","4","5","6","7","8","9"};
 System.out.println("Karakter Giriniz : ");
 String krktr=key.next();
 for (int i = 0; i < dizi1.length; i++) {
 if (krktr.equals(dizi1[i])) {
 System.out.println("Girmiş Oldugunuz Karakter a-z Arasındadır");
 }
 else if(krktr.equals(dizi2[i])){
 System.out.println("Girmiş Oldugunuz Karakter A-Z Arasındadır");
 }
 
 }
 for (int i = 0; i < dizi3.length; i++) {
 if(krktr.equals(dizi3[i])){
 System.out.println("Girmiş Oldugunuz Karakter 0-9 Arasındadır");
 }
 }
 }
}

Java Final Hazırlık Soruları-3

4×3 tipindeki matrisin içindeki en büyük rakamı bulma işleminin ne kadar süre aldığını
bulan program yapınız.

public class MatrisSoru {
public static void main(String[] args) {
 long time1 = System.nanoTime();
 int[][] dizi = new int[4][3];
 int enb = dizi[0][0] = 0;
 for (int i = 0; i < 4; i++) {
 for (int j = 0; j < 3; j++) {
if (dizi[i][j] > dizi[0][0]) {
 enb = dizi[i][j];
 }
 }
 }
 long time2 = System.nanoTime();
 System.out.println((time2 - time1) + " NanoSaniye");
 }
}

Basit bir hesap makinesi uygulaması yapalım.

import java.util.Scanner;
public class HesapMakinesi {
 public static void main(String[] args) {
 Scanner key = new Scanner(System.in);
 double sayi1, sayi2;
 System.out.println("İlk Sayıyı Giriniz : ");
 sayi1 = key.nextDouble();
 System.out.println("İşlem Seçiniz : (+),(-),(*),(/) : ");
 String islem = key.next();
 System.out.println("İkinci Sayıyı Giriniz : ");
 sayi2 = key.nextDouble();
 switch (islem) {
case "+": {
 System.out.println("Sonuç= " + (sayi1 + sayi2));
 }
 break;
case "-": {
 System.out.println("Sonuç= " + (sayi1 - sayi2));
 }
 break;
case "*": {
 System.out.println("Sonuç= " + (sayi1 * sayi2));
 }
 break;
case "/": {
 System.out.println("Sonuç= " + (sayi1 / sayi2));
 }
 break;
default: {
 System.out.println("Geçersiz İfade Girdiniz!!");
 }
 ;
 }
}
}

Java Fİnal Hazırlık Soruları-2

2 Saniye aralıklarla sinif.dat dosyası içine ad,soyad bilgilerini yazan program yapınız.(Kişi sayısı yada dakika verilerek yapılır.)

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
public class ThreadSinifi extends Thread {

 public void run() {
 try {
 PrintStream yaz = new PrintStream("C:/Users/birdal/Desktop/ali.dat");
 for (int i = 0; i < 20; i++) {
 yaz.println("birdal özcan");
 Thread.sleep(2000);
 }
 yaz.close();
 } catch (FileNotFoundException e) {
 e.printStackTrace();
 } catch (Exception e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 }
public static void main(String[] args) throws IOException {
 Thread ff = new Thread(new ThreadSinifi());
 ff.run();
 }
}

Ekranda soldan sağa doğru hareket eden çember ekranın sağına 10 saniyede varması isteniyor.
Bu işlemi, yapan programı yazınız.

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JApplet;
public class CemberHareketi extends JApplet {
 public void init() {
 setSize(1360, 600);
 }
public void paint(Graphics g) {
 try {
 for (int x = 0; x <= 1360; x = x + 255) {
 g.setColor(Color.blue);
 g.drawOval(x, 205, 80, 80);
Thread.sleep(2000);
 g.setColor(Color.white);
 g.drawOval(x, 205, 80, 80);
}
 } catch (Exception e) {
 System.out.println("" + e);
 }
 }
 }

Java Final Hazırlık Soruları

Ali.txt dosyasına 10 kişiye ait ad soyad bilgileri yazılacaktır. Bu işlemi gerçekleştiren programı yapınız.

import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;
public class Dosya4 {
 public static void main(String[] args) throws FileNotFoundException {
 Scanner key=new Scanner(System.in);
 PrintStream yaz=new PrintStream("C:/Users/birdal/Desktop/Ali.txt");
 for (int i = 0; i < 10; i++) {
 String adsoyad=key.nextLine();
 yaz.println(adsoyad);
 }
 yaz.close();

}
}

Klavyeden rakam girilmesi isteniyor. Kullanıcı hatalı giriş yapsa bile doğru bir şekilde rakam girilmesini sağlayan programı yapınız.

import java.util.Random;
import java.util.Scanner;

public class KlavyedenRakamGir {

public static void main(String[] args) {
Random r = new Random();
Scanner key = new Scanner(System.in);
System.out.print(“Rakam Giriniz : “);
String rakam = key.next();
try {
int b = Integer.parseInt(rakam);
System.out.println(b);
} catch (Exception e) {
int a = r.nextInt(10);
System.out.println(a);
}
}
}

Java Swing ile Gui Programlama

Merhaba Arkadaşlar bu yazımda sizlere Swing ile Gui Programlama ile ilgili basit örnekler vererek bu konuya basit bir giriş yapacağım.

java_logo

Java da GUI sınıfları

Barındırıcı Sınıflar:

JFrame:Komponent Sınıflarını içinde barındıran pencere.
JDialog:Mesaj kutusu olarak düşünülebilir.
JApllet:Swing tabanlı applet yapımında kullanılır.
JPanel:Swing komponentleri içinde barındıran sınıftır.

Yardımcı Sınıflar:

Color:Renklendirme
Font:karakterleri belirleme
FontMEtrics:Font özlellikleri
Deminsion:En boy özellikleri
Graphics:Şekil çizimi

Komponent Sınıflar:

JCheckBox       JComboBox       Jlist
JTextField        JTextArea        JScrollBar
JscrollPanel

Olarak gösterilebilir.

Örneğimize gelecek olursak ilk olarak bir pencere oluşturalım;

package Ornek;
import javax.swing.JFrame;
public class Pencere {
public static void main(String[] args) {
 JFrame pencere = new JFrame("Penceremiz");
 pencere.setSize(400,400);
 pencere.setLocationRelativeTo(null);
 pencere.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 pencere.setVisible(true);
}
}
Ekran Çıktısı

Ekran Alıntısı
İlk Örneğimize birde buton ekleyecek olursak;

package Ornek;
import javax.swing.JFrame;
import javax.swing.JButton;

public class Pencere_Buton {
public static void main(String[] args) {
 JFrame pencere = new JFrame("Penceremiz");
 pencere.setSize(400,400);
 pencere.setLocationRelativeTo(null);
 pencere.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 pencere.setVisible(true);
JButton buton = new JButton("TAMAM");
pencere.add(buton);

 }
}
Ekran Çıktısı

Ekran Alıntısı1

Evet arkadaşlar burada çok basit olarak Swing ile Gui yazılmasını göstermiş olduk. Bir sonraki yazımda bu olayı biraz daha geliştirerek neler olabileceğini göstermeye çalışacağım. Herkese Teşekkürler. İyi Çalışmalar.

Java Sınav Öncesi Örnekler(Dosya ve Applet)

Arkadaşlar sınav döneminde işimize yarıyabilecek bir kaç örnek yazayım dedim. Umarım Faydalı olur.

java_logo

1) 1 den 100 e kadar sayıları bulunduran dosyadaki tek sayıları okuyup tek .dat çift sayıları bulup çift.dat dosyasına atan prog oluşturunuz.

Public void Sayilar(){
 try
 Scanner kl= new Scanner(new file(abc.txt));
Filewriter fw1 = new Filewriter(new File("tek.txt"));
Filewriter fw2 = new Filewriter(new File("cift.txt"));
while(k1.hasnext()
){
int sayi=k1.nextint();
if(sayi%2==1) 
{
fw1.filewriter(sayi);
fw1.flush();
}
if(sayi%2==0){
fw2.filewriter(sayi);
fw2.flush();
}
}
fw1.close();
fw2.close();
 s.close();
catch(Excaption e){
e.print.Stacktrace();

}

2)10+ 2sin(x) i 2 peryot boyunca çizen java applet uygulaması.

import java.applet.Applet;
import java.awt.Graphics;
public class bmu extends Applet{
public void paint(Graphics g){
for(double i=0;i<=12.56;i+=0.1){ //sin peryodu 2 pi olduğu için 2ile çarp 4 pi olur
g.drawline(10+(int)(20*i), 100-(int)(20*Math.sin(i)), 10+(int)(20*(i+0.1)), 100-(int)(20*Math.sin(i+0.1) )));
}
}
}

3)Ekranın ortasında y=x kare +3 fonk. [0,2] aralığında eğrisi çizilmek isteniyor bu işlemi gerçekleştiren programı yazınız.

//Burada pek emin değilim. Çözüm büyük ihtimalle böyle olur. Yinede bi kontrol edin derim.

import java.applet.Applet;
import java.awt.Graphics;
public class bmu extends Applet{
public void paint(Graphics g){
for(double i=0;i<=6,28i+=0.1){
g.drawline(3+(int)(20*i), 100-(int)(20*i*i), 10+(int)(20*(i+0.1)), 100-(int)(20*i*(i+0.1)) )));
}
}
}

Java’da Dosya İşlemleri Sınıfları

Merhaba arkadaşlar. Bu yazımda sizlere Java dilinde Dosya İşlemleri Sınıflarının ne olduğunu ve bunlara ait bilgileri aktaracağım.

java_logo

Bu işlemlere ait tüm sınıflar object(nesne) sınıfından türetilmektedir. Bu sınıfları 4 ana başlıkta anlatacağım. Fakat bunların dışında da bazı sınıflar bulunmaktadır.

1)Input Stream: Byte tabanlı akımdır, byte dizilerinin ya da byteların tek tek okunmasını sağlar. Bu sınıfın alt sınıflar:

a)FileInputStream

b)ByteArrayInputStream

c)FilterInputStream

2)Output Stream: Byte tabanlı akımdır, byte dizilerinin ya da byteların tek tek dosyalara yazılmasını sağlar. Bu sınıfın alt sınıfları:

a)FileOutputStream

b)ByteArrayOutputStream

c)FilterOutputStream

3)Reader: Karakter tabanlı akımdır. Dosyalardaki karakterlrin okunmasını sağlar. Alt sınıfları:

a)BufferedReader

b)InputStreamReader

c)StringReader

4)Wireter:Karakter tabanlı akımdır. Karakterin dosyalara yazılmasını sağlar. Alt sınıfları:

a)BufferedWriter

b)OutputStreamWriter

c)StringWriter

Java’da Yapılandırıcı Metotlar

Merhaba arkadaşlar. Bu yazımda sizlere Java dilinde Yapılandırıcı Metotların önemi ve nasıl kullanıldığını göstereceğim.

java_logo

Bu metotlar new anahtar kelimesi aracılığıyla yeni bir nesne üretildiğinde otomadtik olarak çalıştırılır. Yapılandırıcı Metotların adı, içinde bulunduğu sınıfın adıyla aynı olmak zorundadır.Örneğin araba sınıfında tanımlanmış yapılandırıcı metotları inceleyelim.

public class Araba{

//Değişkenler
Private String Marka;
Private String Model;
Private int Yas;
Private String Sinifi;

//Yapılandırıcı Metot(1)

public Araba(){

marka = "";
model = "";
yas = "";
Sinif = "";

//Yapılandırıcı Metot(2)

Public Araba(String pMarka,String pModel,int pyas,String pSinif) {

marka = pmarka;
model = pmodel;
yas = pyas;
Sinif = psinif;
}
         }

Yapılandırıcı metotları diğer mototlardan ayır edebilmek için motodun ismine bakılması yeterlidir.

Yaplandrıcı Metodların Kullanılması

Yukarıda verdiğimiz kod parçacıklarında oluşturduğumuz yapılandırıcı metotları kullanabilmek için new operatörü kullanılır.

//Birinci yapılandırıcı metodu kullanmak için;

Araba araba1= new Araba();

//İkinci yapılandırıcı metodu kullanmak için;
Araba araba2= new Araba("YUSUF","SAVAS","14586","JAVA");

Şeklinde çağırma işlemleri yapılır.

Arkadaşlar bu yazımızın da sonuna geldik. Herkese Teşekkürler.

Java da Metotlar

Merhaba arkadaşlar. Bu yazımda sizlere Java dilinde Metotların önemi ve nasıl kullanıldığını göstereceğim.

java_logo

Metotlar nesne tabanlı programlamanın en temel kavramlarından biridir. Bir metot kendisine parametre olarak verilen veriler üzerinde çeşitli işlemler gerçekleştirir. Bu işlemler sonucunda isteğe bağlı olarak yapılan işlemlerin sonucunu döndürür.

Metot kavramı hemen hemen her programlama dilinde vardır. Kimi programlama dillerinde function, kimisinde procedure ve bazılarında  da module gibi isimleri vardır.

Genel olarak kullanımı

Özel_Anahtar_Kelimeler        Dönüş_Tipi      Metot_Adi  (Metot_Parametreleri)
{
       Metot_İçeriği;
            .
            .
            .
            .

}

Özel Anahtar Kelime: private, protected, public

Dönüş Tipi: int, double, gibi veri tiplerine özgü olabilir. Eğer herhangi bir değer dönüşü olmayacaksa void kullanılır.

Metot Adı: Metot içerisinde verilen bilgileri özetleyen bir isim verilir.

Metot Parametreleri: Burada metot içerisinde kullanılan parametrelerin tanımlanması işlemi yapılır.

Metot İçeriği: Metot içerisinde yapılan işlemlerdir.

private int toplamYap(int deger1 , int deger2){

int sonuc;

sonuc= deger1+deger2;

return sonuc;

}

Metotların Kullanımı

Metotlar bir defa tanımlandıktan sonra metotları normal Java komutları gibi kullanabiliriz. Örneğin ToplamaYap isimli metodu kod içersinde

aşagıdaki gibi kullanabiliriz.

//…

int sayi1= 6

int sayi2= 16

int toplam= toplamaYap(sayi1,sayi2);

System.out.println(toplam);//….

Bu yazımında sonuna geldik arkadaşlar. Hepinize iyi çalışmalar.