2016-03-20 20 views
0

Kullanıcı herhangi bir metinden önce whitespaces girdiyse, JTextArea'daki metnin başlangıcının nerede olduğunu algılayan program için bir kodun nasıl yazılacağını anlamaya çalışıyorum. Tüm whitespaces programından sonra metnin ilk sembolüne bağlı olarak 2 yöntemden biri. İlk karakter "M" ise. veya "-", aksi halde lm. İşte ne var:Whitespaces'ten sonra JTextArea'daki ilk karakteri bulun

output.setText(""); 
    int i = 0; 
    char array[] = (input.getText()).toCharArray(); 
    while(Character.toString(array[i]).equals("")){ 
     i++; 
    } 
     if (array.length < i || !Character.toString(array[i]).equals(".") && !Character.toString(array[i]).equals("-")){ 
      lm(); 
     } else { 
      ml(); 
     } return output.getText(); 
} 
+0

sorunu nedir? – Idos

+0

Sadece girdideki boş karakter ("") veya boşluk karakteri ("") olmayan ilk karakteri mi bulmak istiyorsunuz? Ve, bu konumun metin içinde nerede olduğuyla ilgileniyor musunuz yoksa onu kullanmadan önce girişi temizlemeye mi çalışıyorsunuz? – pczeus

+0

Program sadece ilk karakteri kontrol eder. Eğer beyaz boşluksa, hiçbir anlamı yok. Bu yüzden beyaz boşluktan sonraki karakteri kontrol etmesini istiyorum. Eğer yine beyaz boşluksa, sonraki karakter ve benzeri. – Sta

cevap

0

dize Döşeme hakkında, bu dize başlangıcı ve bitişi beyaz boşluk çıkarmak gerekenler

input.getText().trim() 
+0

Kesinliğin yararlı olduğunu kabul ediyorum - OP sadece dizgiyi temizlemeye çalışıyorsa. Ancak sorusu, ilk geçerli karakterin nerede olduğunu anlamaya çalıştığı izlenimini verecek şekilde belirtilmiştir. Dolayısıyla, bu, soruyu, soruyu olduğu gibi geçerli bir yanıt olarak ele almıyor. – pczeus

+0

Teşekkürler. Bu çalıştı. Ben sadece "." Ile karşılaştırmak için önce whitespaces varsa ilk karakter indeksi bulmalıyım düşündüm. veya "-". – Sta

0

Döşeme kamu String) (

Döşeme

Değeri, bu dize olan bir dize döndürür, herhangi bir öncü ve sondaki boşluk kaldırılır. Bu String nesnesi bir boş karakter dizisini temsil ediyorsa veya bu String nesnesi tarafından temsil edilen karakter dizisinin ilk ve son karakterlerinin her ikisi de '\ u0020' (boşluk karakteri) 'den koduna sahipse, bu String nesnesine bir başvuru Geri döndü.

String msg = "  this is a invaid spaced message  "; 
     msg = msg.trim(); 
     System.out.println(msg); 

ve bu baskılar:

bu invaid aralıklı olduğu mesajı

İlgili konular