SORU
13 Mayıs 2012, Pazar


Java Dize - dize sadece sayılar ve harfler içeriyorsa Görmek

Benim uygulama boyunca yük olan bir dize var, ve bu sayılar harfler için ve bu gibi değişiklikleri. if Eğer harf veya rakam içeriyorsa görmek için basit bir açıklama var ama, bir şey düzgün çalışmıyor. Burada bir parçacık.

String text = "abc"; 
String number; 

if (text.contains("[a-zA-Z] ") == false && text.length() > 2) {
    number = text; 
}

text değişken harfler içeren, ancak durumu true olarak verir. Ve && hem koşulları olarak number = text; işlemek için true olmak zorunda eval

==============================

Çözüm:

Bu aşağıdaki kod, bu soru üzerinde yorum tarafından sağlanan bilgileri kullanarak bu sorunu çözmeyi başardım. Tüm diğer görevi de geçerli!

Çalışan ne ilk yorum geldi. Kodları verilen tüm örnek de geçerli gibi görünüyor olsa da!

String text = "abc"; 
String number; 

if (Pattern.matches("[a-zA-Z] ", text) == false && text.length() > 2) {
    number = text; 
}

CEVAP
13 Mayıs 2012, Pazar


Eğer metin olarak sayı işleme olacak olursa, o zaman değiştir:

if (text.contains("[a-zA-Z] ") == false && text.length() > 2){

için:

if (text.matches("[0-9] ") && text.length() > 2) {

Dize olup olmadığını kontrol etmek yerineyokalfabetik karakterler içerir emin olmak için kontrol içerirsadeceçalışma problemleri.

Eğer gerçekten sayısal değeri kullanmak istiyorsanız, Diğerleri aşağıda açıklandığı gibi Integer.parseInt() Double.parseDouble() kullanın.


Bir yan not olarak, genellikle true false boolean değerleri kabul kötü bir uygulamadır. Sadece kullanmak if (condition) if (!condition).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blu animations and other videos

    Blu animatio

    15 HAZİRAN 2007
  • SHAYTARDS

    SHAYTARDS

    1 EKİM 2008
  • TheMasterOfHell100

    TheMasterOfH

    13 AĞUSTOS 2011