This is a java program to perform Naive String matching algorithm.
Here is the source code of the Java Program to Perform Naive String Matching. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
package com.maixuanviet.setandstring; import java.util.Scanner; public class StringSearchUsingNaiveMethod { private final int BASE; private int[] occurrence; private String pattern; public StringSearchUsingNaiveMethod(String pattern) { this.BASE = 256; this.pattern = pattern; occurrence = new int[BASE]; for (int c = 0; c < BASE; c++) occurrence = -1; for (int j = 0; j < pattern.length(); j++) occurrence[pattern.charAt(j)] = j; } public int search(String text) { int n = text.length(); int m = pattern.length(); int skip; for (int i = 0; i <= n - m; i += skip) { skip = 0; for (int j = m - 1; j >= 0; j--) { if (pattern.charAt(j) != text.charAt(i + j)) { skip = Math.max(1, j - occurrence[text.charAt(i + j)]); break; } } if (skip == 0) return i; } return n; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter the main string: "); String text = sc.nextLine(); System.out.print("Enter the string to be searched: "); String pattern = sc.nextLine(); StringSearchUsingNaiveMethod nsm = new StringSearchUsingNaiveMethod( pattern); int first_occur_position = nsm.search(text); System.out.println("The text '" + pattern + "' is first found after the " + first_occur_position + " position."); sc.close(); } }
Output:
$ javac StringSearchUsingNaiveMethod.java $ java StringSearchUsingNaiveMethod Enter the main string: Sanfoundry is No. 1 choice for Deep Hands-ON Trainings in SAN, Linux & C, Kernel & Device Driver Programming. Our Founder has trained employees of almost all Top Companies in India. Here are few of them: VMware, Citrix, Oracle, Motorola, Ericsson, Aricent, HP, Intuit, Microsoft, Cisco, SAP Labs, Siemens, Symantec, Redhat, Chelsio, Cavium Networks, ST Microelectronics, Samsung, LG-Soft, Wipro, TCS, HCL, IBM, Accenture, HSBC, Northwest Bank, Mphasis, Tata Elxsi, Tata Communications, Mindtree, Cognizant, mid size IT companies and many Startups. Students from top Universities and colleges such as NIT Trichy, BITS Pilani, University of California, Irvine, University of Texas, Austin & PESIT Bangalore have benefited a lot from these courses as well. The assignments and real time projects for our courses are of extremely high quality with excellent learning curve. Enter the string to be searched: No. 1 The text 'No. 1 ' is first found after the 14 position.
Related posts:
Java Program to Solve a Matching Problem for a Given Specific Case
Java Program to Perform Partition of an Integer in All Possible Ways
Send email with authentication
Error Handling for REST with Spring
Concatenating Strings In Java
Remove All Occurrences of a Specific Value from a List
Spring Cloud – Bootstrapping
Java Program to Find Inverse of a Matrix
Java Program to Implement Circular Singly Linked List
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Spring Security with Maven
Configure a Spring Boot Web Application
Java Program to Implement Uniform-Cost Search
Tìm hiểu về xác thực và phân quyền trong ứng dụng
Introduction to Spring Cloud Netflix – Eureka
Java Program to Implement Bresenham Line Algorithm
Java Program to Implement AA Tree
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
Java Program to Implement LinkedList API
Java Program to Implement Suffix Tree
Java Program to Implement Regular Falsi Algorithm
Java Program to Implement Iterative Deepening
Java Program to Find Nearest Neighbor for Static Data Set
Java Program to Implement Queue using Linked List
Supplier trong Java 8
Mockito and JUnit 5 – Using ExtendWith
Check If a String Is Numeric in Java
Getting a File’s Mime Type in Java
Guide to Mustache with Spring Boot
Checked and Unchecked Exceptions in Java
Converting Java Date to OffsetDateTime
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected