Skip to main content
Browse topics

Find All Substrings of a Given String Example in Java

2 min read Updated May 29, 2026
Share

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

java
public String substring(datatype beginIndex)

Or

public String substring(datatype beginIndex, datatype endIndex)

Find all Substrings of a given string Example Program

java
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

plaintext
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

  1. Execution begins in the main method — the JVM calls this method when you run the class.

  2. import java.util.Scanner; imports a class used later in the program.

  3. A Scanner reads typed input from the keyboard (System.in).

  4. A println / print call writes text to the console — part of the sample output below.

  5. str1 = in.nextLine(); updates a variable used in the calculation or output.

  6. length = str1.length(); updates a variable used in the calculation or output.

  7. A println / print call writes text to the console — part of the sample output below.

  8. A loop repeats the block until its condition becomes false.

Best Practices

Common Mistakes

Frequently Asked Questions

What does the Find all Substrings of a given string program demonstrate?
It shows how to implement find all substrings of a given string in Java with a complete runnable example and expected console output.
How do I run this Java program?
Save the code in a `.java` file matching the public class name, compile with `javac`, then run with `java ClassName`.
When would I use this pattern?
Use this pattern whenever you need the same logic in homework, practice or small utility tools.

Related tutorials

Search tutorials