Write a program to read a string and find the length of the largest chunk in the string. If there is no chunk print “No chunks” else print the length.
NOTE: chunk is the letter which is repeating 2 or more than 2 times.
The return type (Integer) should return the length of the largest chunk if the chunk is present, else return -1.
Input and Output Format
- Input consists of a string.
- Output consists of an integer value or a string value.
Refer sample output for formatting specifications
Sample Input 1:
You are toooo good
Sample Output 1:
4
(Because the largest chunk is the letter ‘o’ which is repeating 4 times)
Sample Input 2:
who are u
Sample Output 2:
No chunks
Find the length of the largest Chunk in a string in Java
Following are the steps to find the length of the largest chunk:
- Input string from the user.
- Declare and initialize variable max to 1 and b(to hold the length) to 0.
- Create a string tokenizer to break strings into tokens.
- Iterate over the tokens, and get each token in a string. Then, use for loop to traverse over this string and check every character in the token.
- If they are the same, then increment the value of ‘n’.
- Now, in order to print how many times the chunk of elements is repeated that check the value of n. If it is greater than max. Then transfer the value of n to the max and then add 1 to it and store it as variable b.
- At last, print the value of b.
package com.demo2;
import java.util.Scanner;
import java.util.StringTokenizer;
public class LargestChunk {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s1 = sc.nextLine();
int max = 1;
int b = 0;
StringTokenizer t = new StringTokenizer(s1, " ");
while (t.hasMoreTokens()) {
String s2 = t.nextToken();
int n = 0;
for (int i = 0; i < s2.length() - 1; i++)
if (s2.charAt(i) == s2.charAt(i + 1))
n++;
if (n > max) {
max = n;
b = max + 1;
System.out.println(b);
}
}
if(b==0){
System.out.println("No chunks");
}
}
}
Output

Thus, in this way, we learn how to find the largest chunk of elements in a string.