Mehmet Ethem SULAN :: Java'da Düzenli Ifadeler(Regular Expression Java Examples) :: Javada Tam Sayı Kontrolü Yapan Düzenli Ifade Kodu(How to Integer Control In Java with Regular Expression)
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)(?<!\S)\d++(?!\S)")) {
   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)(?<!\S)\d++(?!\S) düzenli ifadesiyle kontrol yapmazsak direk parseInt() ile dönüştürürsek kullanıcı string girdiği anda hata verir.Bu ifadeyle matematikte bildiğimiz pozitrif tam sayıyı kontrol ediyor.Mesela 1,23,99 tam sayı, yanı if bloğu çalışır.Ama 12e, 17.34, –12, et bunları da dize ya da string kabul eder, yanı else bloğu çalışır.

Comments

There are 3 comments for this post.

  1. Mehmet Ethem SULAN :: JSP'de JavaScript ve CSS :: Array, random, for,while and isNaN Function JavaScript Example on Eylül 5, 2010 6:51 pm

    […] olmadığını isNaN() javascript metodunun sağladığı kolaylığı göstermeye çalıştım. Java ile tam sayı kontrolü. Javascript JSP ile kullanma […]

  2. Mehmet Ethem SULAN :: Android :: How to Add a Progress Dialog to your Android Application on Temmuz 26, 2011 8:37 pm

    […] Android Activity içinde Progress Dialog oluşturmaya çalıştım. Bazı işlemler için kullanılması gerekir. Uygulamada threadi beklettim dialogun daha iyi görünmesi içn. Android EditTexte android:inputType=”number” şeklinde bir tanımlama yaptığımızda klavyeden sayi dışında başka bir şey yazamıyoruz. RE ile kontrol etme örneği: How to Integer Control In Java with Regular Expression […]

  3. Akhenaton on Ağustos 7, 2013 7:52 am

    Düzenli ifadelerle bir yazıda geçen doğum ölüm (örneğin (1551-1919) gibi) gibi paragrafları nasıl replace edebilirim? (metinden silebilirim?)

Write a Comment

Let me know what you think?