Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะทราบได้อย่างไรว่าอักขระตัวแรกของสตริงเป็นตัวเลขใน java หรือไม่


การใช้เมธอด isDigit()

isDigit() วิธีการของ java.lang.Character คลาสยอมรับอักขระเป็นพารามิเตอร์และกำหนดว่าเป็นตัวเลขหรือไม่ หากอักขระที่ระบุเป็นตัวเลข วิธีการนี้จะคืนค่าเป็น true มิฉะนั้น วิธีนี้จะคืนค่าเป็นเท็จ

ดังนั้น เพื่อตรวจสอบว่าอักขระตัวแรกของสตริงที่กำหนดเป็นตัวเลขหรือไม่

  • charAt() เมธอดของคลาส String ยอมรับค่าจำนวนเต็มที่แสดงดัชนีและส่งกลับอักขระที่ดัชนีที่ระบุ

  • toCharArray() เมธอดของคลาสนี้แปลงสตริงเป็นอาร์เรย์อักขระและส่งคืน คุณจะได้รับอักขระตัวแรกเป็นอาร์เรย์[0]

  • ดึง 1 st อักขระของสตริงที่ต้องการโดยใช้วิธีใดวิธีหนึ่ง

  • จากนั้นตรวจสอบว่าเป็นตัวเลขหรือไม่โดยส่งผ่านเป็นพารามิเตอร์ไปยัง isDigit() วิธีการ

ตัวอย่าง

<ก่อน>นำเข้า java.util.Scanner;คลาสสาธารณะ FirstCharacterOfString { โมฆะคงสาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากผู้ใช้ System.out.println ("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); สตริง str =sc.next(); //การแปลงสตริงเป็นอาร์เรย์อักขระ char charArray[] =str.toCharArray(); บูลีนบูล =Character.isDigit(charArray[0]); if(bool) { System.out.println("อักขระตัวแรกเป็นตัวเลข"); } อื่น { System.out.println ("อักขระตัวแรกไม่ใช่ตัวเลข"); } }}

ผลลัพธ์1

ป้อนอักขระ StringkrishnaFirst ไม่ใช่ตัวเลข

ผลลัพธ์2

ป้อนอักขระ String2sampleFirst เป็นตัวเลข

การใช้นิพจน์ทั่วไป

matches() เมธอดของคลาส String ยอมรับนิพจน์ทั่วไปและตรวจสอบว่าตรงกับสตริงปัจจุบัน หากเป็นเช่นนั้น ก็จะคืนค่าเป็น true มิฉะนั้น จะส่งกลับค่าเท็จ

นิพจน์ทั่วไปที่จะจับคู่สตริงที่มีตัวเลขเป็นอักขระตัวแรกคือ “^[0-9].*$” ส่งค่านี้เป็นพารามิเตอร์ไปยัง matches() เมธอดของคลาส String

ตัวอย่าง

<ก่อน>นำเข้า java.util.Scanner;คลาสสาธารณะ FirstCharacterOfString { โมฆะคงที่สาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากผู้ใช้ System.out.println ("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); สตริง str =sc.next(); บูลีนบูล =str.matches("^[0-9].*$"); if(bool) { System.out.println("อักขระตัวแรกเป็นตัวเลข"); } อื่น { System.out.println ("อักขระตัวแรกไม่ใช่ตัวเลข"); } }}

ผลลัพธ์1

ป้อนอักขระ StringkrishnaFirst ไม่ใช่ตัวเลข

ผลลัพธ์2

ป้อนอักขระ String2sampleFirst เป็นตัวเลข