Find All Substrings of a Given String Example in Java
On this page (10sections)
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
e
When 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.
Best Practices
- Name classes in PascalCase and follow one public class per file when starting out.
- Keep
mainshort — delegate work to other methods as programs grow.
Common Mistakes
- Copying code without understanding each line — practice by changing one statement at a time.
- Mismatching the public class name and the
.javafilename. - Forgetting semicolons at the end of statements.