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

คำแนะนำทีละขั้นตอนสำหรับ charAt ใน Java

Java charAt() วิธีการส่งกลับอักขระที่ตำแหน่งดัชนีที่ระบุในสตริง อักขระตัวแรกในสตริงมีตำแหน่งดัชนี 0 charAt() ส่งกลับอักขระตัวเดียว ไม่ส่งคืนช่วงของอักขระ


เมื่อคุณทำงานกับสตริงใน Java คุณอาจต้องการค้นหาว่าอักขระใดอยู่ที่ตำแหน่งใดตำแหน่งหนึ่งในสตริง

นั่นคือสิ่งที่ charAt() เมธอดเข้ามา Java charAt() ใช้เพื่อค้นหาอักขระที่เกี่ยวข้องกับตำแหน่งที่แน่นอนในสตริง นอกจากนี้ยังสามารถส่งคืนอักขระหลายตัวในสตริงได้

ตัวอย่างเช่น สมมติว่าคุณกำลังเขียนโปรแกรมที่ดึงข้อมูลตำแหน่งที่เกี่ยวข้องกับรหัสพื้นที่โทรศัพท์ของสหรัฐอเมริกา คุณอาจต้องการดึงอักขระสามตัวแรกของสตริงที่มีหมายเลขโทรศัพท์

บทแนะนำนี้จะกล่าวถึงวิธีใช้ charAt() ใน Java โดยอ้างอิงจากตัวอย่าง/

ตัวทบทวนสตริง Java

สตริงเป็นประเภทข้อมูลที่สำคัญในภาษาการเขียนโปรแกรมใดๆ เนื่องจากช่วยให้คุณทำงานกับข้อมูลแบบข้อความในโค้ดของคุณได้ ใน Java สตริงจะอยู่ในเครื่องหมายคำพูดคู่ (“” ). ต่อไปนี้คือตัวอย่างการประกาศสตริงใน Java:

String company = "Google";

บริษัท ตัวแปรที่เรากำหนดไว้ข้างต้นจะมีค่าดัชนีดังต่อไปนี้:

o o g อี
1 2 3 4 5

ตัวอักษรตัวแรก 'G' จะมีดัชนีเป็น 0 ในขณะที่ตัวอักษร 'L' มีดัชนีเท่ากับ 4

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

จาวา charAt

ในตัว Java string charAt() วิธีการส่งกลับอักขระที่ตำแหน่งดัชนีเฉพาะในสตริง อักขระตัวแรกมีค่าดัชนี 0 และต่อไปเรื่อยๆ สำหรับอักขระที่ตามมาในสตริง

หากคุณต้องการดึงอักขระตัวแรกในสตริงหรือตัวที่เก้า คุณสามารถใช้ charAt() . ไวยากรณ์สำหรับ charAt() วิธีการมีดังนี้:

char = string_name.charAt(index)

charAt() ยอมรับหนึ่งพารามิเตอร์:ตำแหน่งดัชนีของอักขระที่คุณต้องการดึงข้อมูล

ตัวอย่าง charAt Java

บอกว่าเรากำลังเปิดร้านกาแฟ เรามอบส่วนลด 5% ให้กับลูกค้าทุกรายที่มีชื่อขึ้นต้นด้วยตัวอักษร G. นี่เป็นส่วนหนึ่งของโปรโมชันที่มีจุดประสงค์เพื่อเพิ่มยอดขายและดึงดูดผู้คนให้เข้ามาที่ร้านมากขึ้น

เราต้องการสร้างโปรแกรมที่ดึงอักษรตัวแรกของชื่อที่มอบให้กับบาริสต้า เราสามารถทำได้โดยใช้รหัสต่อไปนี้:

public class GetFirstLetter {
	public static void main (String[] args) {
		String name = "GRAHAM HENDERSON";
		char letter = name.charAt(0);
		System.out.println("The first letter of " + name + "'s name is " + letter + ".");
	}
}

เมื่อเรารันโค้ด โปรแกรมจะส่งคืนการตอบสนองต่อไปนี้:

The first letter of GRAHAM HENDERSON's name is G.

ขั้นแรก เราสร้างคลาสชื่อ GetFirstLetter ซึ่งเก็บรหัสของเรา จากนั้น เรากำหนดตัวแปร Java ที่เรียกว่า name. สตริงนี้เก็บชื่อลูกค้าของเรา ในกรณีนี้ ชื่อลูกค้าของเราคือ Graham Henderson เราตัดสินใจเขียนชื่อลูกค้าเป็นตัวพิมพ์ใหญ่เพื่อลดโอกาสที่ชื่อจะอ่านผิด

ในบรรทัดถัดไป เรากำหนดตัวแปรชื่อ letter . เราใช้ประเภทข้อมูล “char” เพราะ letter จะเก็บตัวละครไว้เพียงตัวเดียว

เรากำหนดค่าตัวแปรนี้ name.charAt(0). ส่งคืนอักขระตัวแรกในสตริงของเรา กล่าวอีกนัยหนึ่ง เราดึงอักขระที่มีค่าดัชนี 0 ในกรณีนี้ charAt() วิธีการส่งคืนอักขระ G .

จากนั้นเราพิมพ์ข้อความไปยังคอนโซลที่บอกเราถึงตัวอักษรที่ดัชนีที่ระบุซึ่งในกรณีนี้คือ 1

เรียกตัวละครอื่น

หากเราต้องการดึงอักขระตัวที่สองในสตริง เราสามารถทำการเปลี่ยนแปลงต่อไปนี้ในโค้ดของเรา:

…
String name = "GRAHAM HENDERSON";
		char letter = name.charAt(1);
		System.out.println("The second letter of " + name + "'s name is " + letter + ".");
…

เราทำการเปลี่ยนแปลงสองครั้ง อันดับแรก เราเปลี่ยนหมายเลขดัชนีใน charAt() วิธีดัชนี int ถึง 1 ซึ่งแสดงถึงอักขระตัวที่สองในสตริงของเรา อย่างที่สอง เราเปลี่ยนการพิมพ์ข้อความเป็น อักษรตัวที่สองของ… , แทนที่จะเป็น อักษรตัวแรกของ… .

รหัสของเราส่งคืน:R . นี่คือสตริงใหม่ สตริงเดิมของเราไม่มีการเปลี่ยนแปลง

อย่างที่คุณเห็น รหัสของเราดึงอักขระตัวที่สองในสตริงของเรากลับมา

Java String charAt:Count Occurrence Example

แอปพลิเคชั่นที่มีประโยชน์อย่างหนึ่งของ charAt() เมธอดอยู่ในอัลกอริธึมการนับจำนวนครั้ง อัลกอริธึมการนับจำนวนครั้งที่ค่าหนึ่งๆ ปรากฏขึ้นภายในสตริง รายการ หรืออ็อบเจกต์ที่ทำซ้ำได้อื่นๆ

กลับไปที่ร้านกาแฟกันเถอะ สมมติว่ามีลูกค้าอ้างสิทธิ์ส่วนลดของเรามากเกินไปเพราะ G เป็นอักษรตัวแรกในชื่อทั่วไป เราตัดสินใจเปลี่ยนข้อตกลงเพื่อให้คุณได้รับส่วนลด 5% สำหรับการซื้อของคุณก็ต่อเมื่อชื่อของคุณมี G มากกว่า 2 ตัว

นี่คือรหัสที่เราสามารถใช้ในการคำนวณว่าลูกค้ามีสิทธิ์ได้รับส่วนลดของเราหรือไม่:

class GetLetters {
	public static void main (String[] args) {
		String name = "GRAHAM HENDERSON";

		int counter = 0;

		for (int i = 0; i <= name.length() - 1; i++) {
if (name.charAt(i) == 'G') {
counter++; 
}
}
		System.out.println(name + "'s" + " name contains " + counter + "G.");
	}
}

เมื่อเรารันโค้ด โปรแกรมจะส่งคืนการตอบสนองต่อไปนี้:

GRAHAM HENDERSON's name contains 1 G.

ก่อนอื่นเรากำหนดคลาสที่เรียกว่า GetLetters ซึ่งเก็บรหัสสำหรับโปรแกรมของเรา จากนั้น เรากำหนดตัวแปรชื่อ name ซึ่งเก็บชื่อลูกค้าไว้

เรากำหนดตัวแปรที่เรียกว่า ตัวนับ ซึ่งติดตามจำนวนตัวอักษร G ที่มีอยู่ในสตริงของเรา จากนั้น เราสร้าง Java for loop ที่ตรวจสอบแต่ละค่าใน name . ของเรา ตัวแปร

name.length() -1 บอกเราว่าการวนซ้ำของเราจะดำเนินต่อไปจนกว่าจะผ่านทุกตัวอักษรใน name สตริง

ต่อไป เรากำหนดคำสั่ง if คำสั่งนี้ตรวจสอบว่าอักขระที่ตำแหน่งดัชนี i. นี่เป็นส่วนหนึ่งของ for loop ของเราที่จะเพิ่มขึ้นทุกครั้งที่ loop ทำงาน เท่ากับ G .

โปรดทราบว่าการเปรียบเทียบนี้คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ หากชื่อของเราถูกบันทึกเป็นตัวพิมพ์เล็ก คำสั่ง name.charAt(i) =='G' จะไม่มีวันประเมินเป็นจริง

หากอักขระที่ตำแหน่งดัชนี i เท่ากับ G ตัวนับของเราเพิ่มขึ้น 1 ในบรรทัดสุดท้ายของโค้ด เราสั่งให้โปรแกรมพิมพ์ข้อความไปยังคอนโซล ข้อความนี้บอกจำนวนครั้งที่อักขระ G ปรากฏในชื่อลูกค้า

บทสรุป

Java charAt() เมธอดดึงอักขระที่มีอยู่ในค่าดัชนีเฉพาะภายในสตริง ตัวอย่างเช่น เราสามารถใช้ charAt() เพื่อดึงอักขระที่ 10 ในสตริงหรือตัวที่ 15

บทช่วยสอนนี้สำรวจวิธีใช้ charAt() วิธีการใน Java เราได้ดูตัวอย่างทีละขั้นตอนของ charAt() เมธอดที่ใช้ และเรายังคุยกันถึงวิธี charAt() สามารถใช้กับอัลกอริธึมการนับจำนวน Java ได้

ตอนนี้คุณพร้อมที่จะเริ่มใช้ charAt() . แล้ว เหมือนผู้เชี่ยวชาญ Java! หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Java โปรดอ่านคำแนะนำเกี่ยวกับวิธีการเขียนโค้ดใน Java