Skip to main content

Find All Substrings of a Given String Example in Java

2 min read Updated May 29, 2026
Share:
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

  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

  • Name classes in PascalCase and follow one public class per file when starting out.
  • Keep main short — 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 .java filename.
  • Forgetting semicolons at the end of statements.

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