Simli A-dan I-ə hərflərlə başlamış olub olmadığını müəyyən edin

Sadə bir java tapşırıqım var. Simli A hərfi ilə başlayır-başlamadığını müəyyənləşdirmək lazımdır. Mən string.startsWith () istifadə etmək lazımdır ki, bilirəm; lakin yazmaq istəmirəm if(string.startsWith("a")); Bütün yol mənim üçün təsirli görünür. Bir cür loop istifadə etməliyəmmi?

7
16 дек. Archey tərəfindən təyin 16 Dekabr 2011-12-16 23:55 '11 11:55 pm 2011-12-16 23:55
@ 6 cavablar

Normal ifadələrə ehtiyacınız yoxdur.

Yalnız yuxarı harfli məktublar isterseniz bunu cəhd edin:

 char c = string.charAt(0); if (c >= 'A'  c <= 'I') { ... } 

Həqiqətən bir azaldılması həlli istifadə etmək istəyirsinizsə, onu istifadə edə bilərsiniz ( ideone ):

 if (string.matches("^[AI].*$")) { ... } 
26
16 дек. Mark Byers tərəfindən verilmiş cavab 16 dekabr 2011-12-16 23:57 '11 də 23:57 2011-12-16 23:57

Necə qısaca bu barədə?

border=0
 if (0 <= "ABCDEFGHI".indexOf(string.charAt(0))) { // string starts with a character between 'A' and 'I' inclusive } 
2
17 дек. cavab rsp 17 dec verilir . 2011-12-17 00:08 '11 at 0:08 2011-12-17 00:08
 if ( string.charAt(0) >= 'A'  string.charAt(0) <= 'I' ) { } 

bunu etməlidir

2
16 дек. Cavab parapura rajkumar 16 dekabr verilir . 2011-12-16 23:56 '11 də 23:56 'də 2011-12-16 23:56
 char c=string.toLowerCase().charAt(0); if( c >= 'a'  c <= 'i' ) ... 

Bu bir metod kimi çıxarmaq asanlaşdırır:

 public static boolean startsBetween(String s, char lowest, char highest) { char c=s.charAt(0); c=Character.toLowerCase(c); //thx refp return c >= lowest  c <= highest; } 

hər hansı bir quraşdırılmış həll üçün çox üstünlük təşkil edir. Qazanmaq üçün onu son olaraq qeyd edin, buna görə java onu əlavə edir və kodlaşdırma həllindən daha yaxşı bir performans təmin edir.

1
17 дек. 17 dekabrda Bill K tərəfindən cavab verildi. 2011-12-17 00:00 '11 'də 0:00' da 2011-12-17 00:00 'da

Keçir

 string.charAt(0) >= 'a'  string.charAt(0) <= 'j' 
1
17 дек. Cavab verildi 17 dekabr. 2011-12-17 00:00 '11 'də 0:00' da 2011-12-17 00:00 'da

if (string.toUpperCase (), charAt (0)> = 'A' və string.toUpperCase (). charAt (0) <= 'I')

ən asan versiyası olmalıdır ...

0
17 дек. Cavab 17 dekabr, Sebastian Oberste-Vorth tərəfindən verilir. 2011-12-17 00:36 '11 'də 0:36' da 2011-12-17 00:36

bağlı digər suallar və ya bir sual