By GokiSoft.com|
18:27 17/04/2024|
Java Basic
[Share Code] Test - Tìm kiếm chuỗi trong chuỗi - C2307L
Test - Tìm kiếm chuỗi trong chuỗi
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.c2307l.lesson03;
import java.util.Scanner;
/**
*
* @author diepvan
*/
public class Main {
public static void main(String[] args) {
//Bai tap > https://gokisoft.com/test-tim-kiem-chuoi-trong-chuoi.html?his=C2307L
//B1. Khai bao bo nhap du lieu
Scanner scan = new Scanner(System.in);
//B2. Nhap du lieu dau vao
String sourceStr, searchingStr;
System.out.println("Nhap chuoi goc: ");
sourceStr = scan.nextLine();
System.out.println("Nhap chuoi tim kiem: ");
searchingStr = scan.nextLine();
//B3. Giai thuat tim kiem
//Vi du: sourceStr = a(0)a(1)a(2)a(3)b(4)b(5)a(6)a(7)a(8), searchingStr = aa
//Yeu cau 1:
//Ket qua: aa | aabb | aaa -> Tim ra dc 3 lan xuat hien -> Easy
int index = 0;
int count = 0;
while(true) {
int findingIndex = sourceStr.indexOf(searchingStr, index);
//Lan 1: findingIndex = 0
//Lan 2: findingIndex = 2
//Lan 3: findingIndex = 6
//Lan 4: findingIndex = -1 => Ko tim thay nua
// System.out.println("findingIndex = " + findingIndex);
if(findingIndex >= 0) {
count++;
System.out.println("Vi tri tim thay: " + findingIndex);
//index (1): 0 + 2 = 2
//index (2): 2 + 2 = 4
//index (3): 6 + 2 = 8
index = findingIndex + searchingStr.length();
} else {
break;
}
}
System.out.println("So lan tim thay: " + count);
//Yeu cau 2:
//Ket qua: aa | aa | aabb | aa | aa -> Tim dc 5 lan xuat hien -> Hard
index = 0;
count = 0;
while(true) {
int findingIndex = sourceStr.indexOf(searchingStr, index);
if(findingIndex >= 0) {
count++;
System.out.println("Vi tri tim thay (2): " + findingIndex);
index = findingIndex + 1;
} else {
break;
}
}
System.out.println("So lan tim thay (2): " + count);
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)