Find All Substrings of a Given String Example in Java
Introduction
Find all Substrings of a given string is a classic Java console program that demonstrates the concept with complete source code and sample output. These programs cover your first Java class, constructors, methods and simple OOP building blocks.
This tutorial walks through the program line by line, explains how the logic works, and highlights best practices you can apply in your own code.
Definition
A string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). A string is generally understood as a data type and is often implemented as an array of bytes (or words) that stores a sequence of elements, typically characters, using some character encoding. A string may also denote more general arrays or other sequence (or list) data types and structures.
Syntax
public String substring(datatype beginIndex)
Or
public String substring(datatype beginIndex, datatype endIndex)Find all Substrings of a given string Example Program
import java.util.Scanner;
class AllSubstrings{
public static void main(String args[]){
String str1, str2;
int length;
Scanner in = new Scanner(System.in);
System.out.println("Enter a string to find its sub-strings");
str1 = in.nextLine();
length = str1.length();
System.out.println("Sub-strings of the string \""+str1+"\" are");
for(int c = 0 ; c < length ; c++ ){
for(int i = 1 ; i <= length - c ; i++ ){
str2 = str1.substring(c, c+i);
System.out.println(str2);
}
}
}
}Sample Output
Enter a string to find its sub-strings
shore
Sub-strings of the string "shore" are
s
sh
sho
shor
shore
h
ho
hor
hore
o
or
ore
r
re
eWhen to use
Use this find all substrings of a given string example when learning or revising core Java syntax.
How it works
-
Execution begins in the
mainmethod — the JVM calls this method when you run the class. -
import java.util.Scanner;imports a class used later in the program. -
A
Scannerreads typed input from the keyboard (System.in). -
A
println/printcall writes text to the console — part of the sample output below. -
str1 = in.nextLine();updates a variable used in the calculation or output. -
length = str1.length();updates a variable used in the calculation or output. -
A
println/printcall writes text to the console — part of the sample output below. -
A loop repeats the block until its condition becomes false.