ตัวอย่างเช่น: javascriptjavasejavaeejavame
แนวคิด:
กำหนดเคาน์เตอร์
รับตำแหน่งที่ Java ปรากฏขึ้นเป็นครั้งแรก
ดำเนินการต่อเพื่อรับตำแหน่งที่ Java ปรากฏจากสตริงที่เหลือหลังจากตำแหน่งเหตุการณ์ครั้งแรกนับทุกครั้งที่ได้รับ
เมื่อไม่สามารถซื้อได้การนับจะเสร็จสมบูรณ์
การคัดลอกรหัสมีดังนี้:
คลาส StringCount {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
สตริง s = "javascriptjavasejavaeejavame";
int count = getSubstring (s, "java");
System.out.println (นับ);
-
public Static int getSubstring (สตริง str, คีย์สตริง) {
จำนวน int = 0;
ดัชนี int = 0;
ในขณะที่ ((index = str.indexof (คีย์, ดัชนี))! =-1) {
index = index+key.length ();
นับ ++;
-
นับคืน;
-
-
วิธีที่สอง:
การคัดลอกรหัสมีดังนี้:
สาธารณะคงที่ int getSubcount_2 (สตริง str, คีย์สตริง) {
จำนวน int = 0;
ดัชนี int = 0;
ในขณะที่ ((index = str.indexof (คีย์, ดัชนี))! =-1) {
str = str.subtring (index+key.length ());
นับ ++;
-
นับคืน;
-