Tuesday, May 17, 2011

Java SE Uygulamalari

package www.ethemsulan.com;
import java.util.regex.PatternSyntaxException;
import javax.swing.JOptionPane;
public class IpV4Kontrolu {
public static void main(String[] args) {
try {
String girilenIp=JOptionPane.showInputDialog("Bir IpV4 adresi girin");
if (girilenIp.matches("\\b(25[0-5]|2[0-4][0-9]" +
"|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?" +
"[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9]" +
"[0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b")){
JOptionPane.showMessageDialog(null, girilenIp+" dogru IpV4 adresi girildi");
} else {
JOptionPane.showMessageDialog(null, girilenIp+" yanlış IpV4 adresi girildi");
} 
} catch (PatternSyntaxException ex) {
ex.printStackTrace();
//127.0.0.1 dogru ipv4 localhost adresi
//299.299.299.299 yanlış 255 ten büyük olamaz.değerler her bir aralık
//255.255.255.256 yanlış max 255 olur.
//0:0:0:0:0:0:0:1 ipv6
//92.168.1.1 doğr ipv4 adresi
} }     }
Orj kod:http://www.ethemsulan.pastebin.com/yw9vp2iN
package www.ethemsulan.com;
import javax.swing.JOptionPane;
public class StringInt {
public static void main(String[] args) {
String kontrol=JOptionPane.showInputDialog("Bir sayi ya da string gir");
//girilen deger sayi yada string oldugunu bulur
if(kontrol.matches("^\\d+$")){
System.out.println("Girilen deger sayidir-->"+kontrol);
}else{
System.out.println("Girilen deger stringtir-->"+kontrol);
}  }  }
Bu örnek ile aynı işlevi gerçekleştiren başka bir kod :http://www.ethemsulan.com/2010/01/girilen-degerin-say-ya-da-string.html bakın.Yanı düzenli ifadeler bir çok farklı şekilde yazılabilir.
 
package www.ethemsulan.com;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RakamLari {
public static void main(String[] args){
//rakamalri bulur.Bun tur orneklerin daha kisa yolu olabilir
Pattern kal2=Pattern.compile("[0-9]");
Matcher esl2=kal2.matcher("21 Subat 2010 tarihinde yazildi");
while(esl2.find()){
System.out.println("Rakamlar-->"+esl2.group());
}    }  }
Eğer [0-9]+ yazarsak o zaman 21 ve 2010 u ayrı ayrı bulur.Ama bu şekilde 2,1,2,0,1,0 şeklinde yazar.+ bir ve birden fazla demek.
package www.ethemsulan.com;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexKullanimi {
public static void main(String[] args) {
//m ile biten ve E ile baslayan kelimeleri bulur.
Pattern kalip=Pattern.compile("E.+?m");
Matcher esl=kalip.matcher("Bu cumlede Ethem tek " +
"eslesiyor.Evkarlandim bu gun salla");
while (esl.find()) {
System.out.println("Eslesen-->"+esl.group());
}    }    }
orj kod:http://www.ethemsulan.pastebin.com/f61c85875
package www.ethemsulan.com;
import java.util.regex.PatternSyntaxException;
import javax.swing.JOptionPane;
public class SayiKontrol {
public static void main(String[] args) {
try {
String girilenDeger=JOptionPane.showInputDialog(
"Tam sayi ya da string gir");
if (girilenDeger.matches("(?simx)(?")) {
int tamsayi=Integer.parseInt(girilenDeger);
System.out.println("Tam sayı girildi: "+tamsayi);
} else {
System.out.println("dize ya da char girildi:"+girilenDeger);
} 
} catch (PatternSyntaxException ex) {
ex.printStackTrace();
}  }  }
Orj kod:http://www.ethemsulan.pastebin.com/f222c383d
Eğer (?simx)(?
package www.ethemsulan.com;
import javax.swing.JOptionPane;
public class EmailKontrol {
public static void main(String[] args) {
String email=JOptionPane.showInputDialog("E-mail adresinizi girin");
//(?simx)\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b
//girilend egerin email olup olmadigini kontrol ediyor
if (email.matches("(?simx)\\b[A-Z0-9._%+-]+" +
"@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b")) {
System.out.println(email+" email adresidir");
} else {
System.out.println(email+" email degil");
} 
}
}
Orj Kod:http://ethemsulan.pastebin.com/f11eb0376
package www.ethemsulan.com;
import java.util.regex.PatternSyntaxException;
import javax.swing.JOptionPane;
public class GirilenDegerSayimi {
public static void main(String[] args) {
String sayimi=JOptionPane.showInputDialog("Rakam ya da harf girin");
try {
if (sayimi.matches("(?")) {
System.out.println("Girilen "+sayimi+" bir rakam ya da sayidir");
} else {
System.out.println(sayimi+" sayi degil bir kelime ya da harftir");
} 
} catch (PatternSyntaxException ex) {
ex.printStackTrace();
}
}
}
Orj Kod:http://ethemsulan.pastebin.com/f6b3d144f
Girilen değerin sayı ya da string olduğunu bulur.Düzenli ifadeler çok kullanışlıdır.Kod yazmaktan kurtarır.
package www.ethemsulan.com;
import javax.swing.JOptionPane;
public class TarihKontrol {
public static void main(String[] args) {
//tarih formatini kontrol eden duzenli ifadedir
String dateTarih=JOptionPane.showInputDialog(
"Tarih girin format yyy-aa-gg seklinde");
if (dateTarih.matches(
"\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])")) {
System.out.println("dogru");
} else {
System.out.println("yanlis");
} 
}
}
Orj Kod:http://ethemsulan.pastebin.com/f3f154fd9
4 rakamdan oluşan yil, iki rakamdan oluşan ay ve son ikisi de gün ve tanımlı oldukları aralığı kontrol eder.örneğin 2010-04-01 doğru. 2010-89-10 yanliş.
package www.ethemsulan.com;
import javax.swing.JOptionPane;
public class TimeSaatKontrol {
public static void main(String[] args) {
//saat ss:dd:ss veya ss:dd kontrol eder.
String dateTarih=JOptionPane.showInputDialog(
"Saat girin format ss:dd:ss ya da ss:dd seklinde");
if (dateTarih.matches(
"^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])" +
"(:([0-5]?[0-9]))?$"))
{
System.out.println("dgoru");
}else{
System.out.println("yanlis");
}
}
}