What is a substring?
According to Wikipedia,
The contiguous sequence of characters within a String is called substring.For example, "Awesome" is a substring of "Alive is Awesome". You should not confuse substring with subsequence. "Alive Awesome" is a subsequence of "Alive is Awesome".
Read Also: String Interview Questions
Let's understand the question first with examples:
InputString: abc
Output: a, b, c, ab, bc, abc
InputString: abcd
Output: a, ab, abc, abcd, b, bc, bcd, c, cd, d
Programs for finding substrings of a String in Java
There are two ways through which we can generate substrings of a String in java.1. Using StringBuilder/StringBuffer class [Efficient]
2. Using String class substring() method [Easy]
1. Using StringBuilder/StringBuffer class
You can generate substrings of a String using StringBuilder/StringBuffer class in java. The time complexity will be O(n)2.import java.util.Scanner;
public class JavaHungry {
public static void findSubstring(char[] input)
{
int length = input.length;
for (int i=0; i < length ; i++)
{
StringBuilder str = new StringBuilder();
str.append(input[i]);
for (int j=i+1; j <= length ; j++)
{
System.out.println(str);
if (j < length)
{
str.append(input[j]);
}
}
}
}
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
String inputString = in.next();
findSubstring(inputString.toCharArray());
}
}
Output:
2. Using substring() method
You can easily generate substrings of a String using String class substring() method. The time complexity will be O(n)3 since there are two for loops and substring() method has O(n) time complexity.import java.util.Scanner;
public class JavaHungry {
public static void findSubstring(String input)
{
for(int i=0; i < input.length() ;i++)
{
for(int j=i+1; j <= input.length(); j++)
{
System.out.println(input.substring(i,j));
}
}
}
public static void main(String args[])
{
System.out.println("Enter any String: ");
Scanner in = new Scanner(System.in);
String inputString = in.next();
System.out.println("substrings of "+inputString+ " are :");
findSubstring(inputString);
}
}
Output:
Enter any String:
Alive
substrings of Alive are :
A
Al
Ali
Aliv
Alive
l
li
liv
live
i
iv
ive
v
ve
e
That's all for today, please mention in comments in case you have any questions related to the substrings of a String in java.
0 Comments